.expo-demoday {
	--demo-ink: #252525;
	--demo-muted: #555;
	--demo-line: #ededed;
	--demo-surface: #fafafa;
	--demo-action: var(--e-global-color-primary, #b6252a);
	--demo-action-hover: var(--e-global-color-secondary, #831b1f);
	max-width: 1140px;
	margin: 0 auto;
	padding: 16px 0 48px;
	color: var(--demo-ink);
	font: 400 1rem/1.6 "Poppins", sans-serif;
}
.expo-demoday *, .expo-demoday { box-sizing: border-box; }
/* Align standalone Demo Day pages with the site's masthead and footer. */
.pu-unified-masthead + .site-main:has(> .page-content > .expo-demoday) {
	box-sizing: border-box;
	max-width: 1440px;
	margin-inline: auto;
	padding-inline: 60px;
}
.pu-unified-masthead + .site-main > .page-content > .expo-demoday {
	max-width: none;
	padding-block: 40px 64px;
}
@media (max-width: 1024px) {
	.pu-unified-masthead + .site-main:has(> .page-content > .expo-demoday) { padding-inline: 30px; }
}
@media (max-width: 767px) {
	.pu-unified-masthead + .site-main:has(> .page-content > .expo-demoday) { padding-inline: 24px; }
}
.expo-demoday > section + section { margin-top: 48px; }
.expo-demoday :is(h2,h3,h4) { color: var(--demo-ink); font-family: inherit; text-transform: none; }
.expo-demoday h2 { margin: 0 0 18px; font-size: clamp(1.3rem, 2.8vw, 1.65rem); font-weight: 600; }
.expo-demoday .expo-demoday-divider-title {
	display: flex;
	align-items: center;
	gap: clamp(10px, 2vw, 16px);
	text-align: center;
}
.expo-demoday-divider-title::before,
.expo-demoday-divider-title::after {
	content: "";
	flex: 1;
	min-width: 12px;
	border-block-start: 1px solid var(--demo-line);
}
.expo-demoday ul { padding: 0; margin: 0; list-style: none; }
.expo-demoday-logos {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(134px, 1fr);
	overflow-x: auto;
}
.expo-demoday-logos:focus-visible {
	outline: 2px solid var(--demo-muted);
	outline-offset: 2px;
}
.expo-demoday-logos li {
	display: grid;
	place-items: center;
	min-height: 108px;
	padding: 14px;
}
.expo-demoday-logos li + li { border-inline-start: 1px solid var(--demo-line); }
.expo-demoday-logos img { display: block; width: min(100%, 205px); height: 70px; object-fit: contain; }
.expo-demoday-dates {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0 0 26px;
}
.expo-demoday .expo-demoday-dates a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 8px 16px;
	border-radius: 8px;
	background: var(--demo-action);
	color: #fff;
	font-size: .875rem;
	font-weight: 600;
	text-decoration: none;
}
.expo-demoday .expo-demoday-dates a:hover,
.expo-demoday .expo-demoday-dates a:active {
	background: var(--demo-action-hover);
	color: #fff;
}
.expo-demoday-dates a:focus-visible { outline: 2px solid var(--demo-action); outline-offset: 3px; }
.expo-demoday-day + .expo-demoday-day { margin-top: 36px; }
.expo-demoday-day h3 {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 14px;
	font-size: 1.125rem;
	font-weight: 600;
	scroll-margin-top: 140px;
}
.expo-demoday-day h3::after {
	content: "";
	flex: 1;
	border-block-start: 1px solid var(--demo-line);
}
.expo-demoday-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.expo-demoday-card {
	min-width: 0;
	isolation: isolate;
	padding: 18px 20px;
	border-radius: 8px;
	background: var(--demo-surface);
	box-shadow: 0 2px 8px rgba(27, 25, 25, .07);
}
.expo-demoday-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 44px;
	margin-bottom: 12px;
}
.expo-demoday-card-meta { min-width: 0; overflow-wrap: anywhere; }
.expo-demoday-card-logo { flex: 0 0 clamp(80px, 12vw, 112px); }
.expo-demoday-card-logo img {
	display: block;
	width: 100%;
	height: 36px;
	object-fit: contain;
	object-position: right center;
	mix-blend-mode: multiply;
}
.expo-demoday-time { color: var(--demo-ink); font-size: .875rem; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.expo-demoday-session { min-width: 0; overflow-wrap: anywhere; }
.expo-demoday-company { margin: 2px 0 0; color: var(--demo-muted); font-size: .75rem; font-weight: 600; }
.expo-demoday-session h4 { margin: 0; font-size: 1rem; line-height: 1.5; font-weight: 600; }
.expo-demoday-presenter { margin: 6px 0 0; color: var(--demo-muted); font-size: .875rem; }
@media (max-width: 767px) {
	.expo-demoday-cards { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 580px) {
	.expo-demoday-logos li { min-height: 84px; padding: 12px; }
	.expo-demoday-logos img { height: 60px; }
	.expo-demoday-card { padding: 14px; }
}
