@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap");

/*
 * Evolve Partner design system.
 *
 * Source: `/src/styles.css` in the React app.
 * This file keeps the source tokens as plain CSS custom properties so the
 * upcoming PHP templates can be converted page by page without Tailwind.
 */

:root {
	--ep-radius: 9999px;
	--ep-radius-sm: calc(var(--ep-radius) - 4px);
	--ep-radius-md: calc(var(--ep-radius) - 2px);
	--ep-radius-lg: var(--ep-radius);
	--ep-radius-xl: calc(var(--ep-radius) + 4px);
	--ep-radius-2xl: calc(var(--ep-radius) + 8px);
	--ep-radius-3xl: calc(var(--ep-radius) + 12px);
	--ep-radius-4xl: calc(var(--ep-radius) + 16px);

	/* Evolve palette: near-black surfaces, white ink, magenta to orange gradient. */
	--ep-ink: oklch(0.08 0.005 280);
	--ep-surface: oklch(0.11 0.005 280);
	--ep-surface-2: oklch(0.15 0.006 280);
	--ep-line: oklch(1 0 0 / 10%);
	--ep-mute: oklch(0.72 0.01 280);
	--ep-magenta: oklch(0.65 0.27 0);
	--ep-orange: oklch(0.74 0.19 50);

	--ep-background: var(--ep-ink);
	--ep-foreground: oklch(0.98 0 0);
	--ep-card: var(--ep-surface);
	--ep-card-foreground: oklch(0.98 0 0);
	--ep-popover: var(--ep-surface);
	--ep-popover-foreground: oklch(0.98 0 0);
	--ep-primary: oklch(0.98 0 0);
	--ep-primary-foreground: var(--ep-ink);
	--ep-secondary: var(--ep-surface-2);
	--ep-secondary-foreground: oklch(0.98 0 0);
	--ep-muted: var(--ep-surface-2);
	--ep-muted-foreground: var(--ep-mute);
	--ep-accent: var(--ep-magenta);
	--ep-accent-foreground: oklch(0.98 0 0);
	--ep-destructive: oklch(0.62 0.22 27);
	--ep-destructive-foreground: oklch(0.98 0 0);
	--ep-border: var(--ep-line);
	--ep-input: oklch(1 0 0 / 12%);
	--ep-ring: var(--ep-magenta);
	--ep-ring-offset-background: var(--ep-background);
	--ep-chart-1: oklch(0.646 0.222 41.116);
	--ep-chart-2: oklch(0.6 0.118 184.704);
	--ep-chart-3: oklch(0.398 0.07 227.392);
	--ep-chart-4: oklch(0.828 0.189 84.429);
	--ep-chart-5: oklch(0.769 0.188 70.08);
	--ep-sidebar: oklch(0.984 0.003 247.858);
	--ep-sidebar-foreground: oklch(0.129 0.042 264.695);
	--ep-sidebar-primary: oklch(0.208 0.042 265.755);
	--ep-sidebar-primary-foreground: oklch(0.984 0.003 247.858);
	--ep-sidebar-accent: oklch(0.968 0.007 247.896);
	--ep-sidebar-accent-foreground: oklch(0.208 0.042 265.755);
	--ep-sidebar-border: oklch(0.929 0.013 255.508);
	--ep-sidebar-ring: oklch(0.704 0.04 256.788);

	--ep-font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
	--ep-font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
	--ep-font-mono: "JetBrains Mono", ui-monospace, monospace;

	--ep-text-xs: 0.75rem;
	--ep-text-xs-line-height: 1rem;
	--ep-text-sm: 0.875rem;
	--ep-text-sm-line-height: 1.25rem;
	--ep-text-base: 1rem;
	--ep-text-base-line-height: 1.5rem;
	--ep-text-lg: 1.125rem;
	--ep-text-lg-line-height: 1.75rem;
	--ep-text-xl: 1.25rem;
	--ep-text-xl-line-height: 1.75rem;
	--ep-text-2xl: 1.5rem;
	--ep-text-2xl-line-height: 2rem;
	--ep-text-3xl: 1.875rem;
	--ep-text-3xl-line-height: 2.25rem;
	--ep-text-4xl: 2.25rem;
	--ep-text-4xl-line-height: 2.5rem;

	--ep-tracking-tight: -0.025em;
	--ep-tracking-wider: 0.05em;
	--ep-leading-relaxed: 1.625;

	--ep-container: 1400px;
	--ep-pad-x: 1.5rem;
	--ep-pad-x-lg: 2.5rem;
	--ep-breakpoint-sm: 640px;
	--ep-breakpoint-md: 768px;
	--ep-breakpoint-lg: 1024px;
	--ep-breakpoint-xl: 1280px;
}

.dark {
	--ep-background: oklch(0.129 0.042 264.695);
	--ep-foreground: oklch(0.984 0.003 247.858);
	--ep-card: oklch(0.208 0.042 265.755);
	--ep-card-foreground: oklch(0.984 0.003 247.858);
	--ep-popover: oklch(0.208 0.042 265.755);
	--ep-popover-foreground: oklch(0.984 0.003 247.858);
	--ep-primary: oklch(0.929 0.013 255.508);
	--ep-primary-foreground: oklch(0.208 0.042 265.755);
	--ep-secondary: oklch(0.279 0.041 260.031);
	--ep-secondary-foreground: oklch(0.984 0.003 247.858);
	--ep-muted: oklch(0.279 0.041 260.031);
	--ep-muted-foreground: oklch(0.704 0.04 256.788);
	--ep-accent: oklch(0.279 0.041 260.031);
	--ep-accent-foreground: oklch(0.984 0.003 247.858);
	--ep-destructive: oklch(0.704 0.191 22.216);
	--ep-destructive-foreground: oklch(0.984 0.003 247.858);
	--ep-border: oklch(1 0 0 / 10%);
	--ep-input: oklch(1 0 0 / 15%);
	--ep-ring: oklch(0.551 0.027 264.364);
	--ep-chart-1: oklch(0.488 0.243 264.376);
	--ep-chart-2: oklch(0.696 0.17 162.48);
	--ep-chart-3: oklch(0.769 0.188 70.08);
	--ep-chart-4: oklch(0.627 0.265 303.9);
	--ep-chart-5: oklch(0.645 0.246 16.439);
	--ep-sidebar: oklch(0.208 0.042 265.755);
	--ep-sidebar-foreground: oklch(0.984 0.003 247.858);
	--ep-sidebar-primary: oklch(0.488 0.243 264.376);
	--ep-sidebar-primary-foreground: oklch(0.984 0.003 247.858);
	--ep-sidebar-accent: oklch(0.279 0.041 260.031);
	--ep-sidebar-accent-foreground: oklch(0.984 0.003 247.858);
	--ep-sidebar-border: oklch(1 0 0 / 10%);
	--ep-sidebar-ring: oklch(0.551 0.027 264.364);
}

*,
*::before,
*::after {
	box-sizing: border-box;
	border-color: var(--ep-border);
}

html {
	min-height: 100%;
	background: var(--ep-background);
	scroll-behavior: smooth;
}

body {
	min-height: 100%;
	margin: 0;
	background-color: var(--ep-background);
	color: var(--ep-foreground);
	font-family: var(--ep-font-sans);
	font-size: var(--ep-text-base);
	line-height: var(--ep-text-base-line-height);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
	font-family: var(--ep-font-sans);
}

h1,
h2,
h3,
h4 {
	font-family: var(--ep-font-display);
	font-weight: 500;
	letter-spacing: var(--ep-tracking-tight);
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
dl,
dd {
	margin: 0;
}

a {
	color: inherit;
	text-decoration: none;
}

button,
input,
textarea {
	color: inherit;
	font: inherit;
}

button {
	cursor: pointer;
}

img,
svg,
video,
canvas {
	display: block;
	max-width: 100%;
}

[hidden] {
	display: none !important;
}

::selection {
	background: var(--ep-magenta);
	color: white;
}

.ep-container {
	width: 100%;
	max-width: var(--ep-container);
	margin-inline: auto;
	padding-inline: var(--ep-pad-x);
}

@media (min-width: 1024px) {
	.ep-container {
		padding-inline: var(--ep-pad-x-lg);
	}
}

.ep-min-screen {
	min-height: 100vh;
	background: var(--ep-ink);
	color: white;
}

.font-display {
	font-family: var(--ep-font-display);
}

.font-mono {
	font-family: var(--ep-font-mono);
}

.text-balance {
	text-wrap: balance;
}

.text-pretty {
	text-wrap: pretty;
}

.hairline {
	border-color: oklch(1 0 0 / 10%);
}

.text-gradient {
	background: linear-gradient(90deg, oklch(0.68 0.28 350), oklch(0.74 0.2 45));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.bg-gradient-evolve {
	background-image: linear-gradient(90deg, oklch(0.66 0.28 355), oklch(0.72 0.2 45));
}

.bg-gradient-evolve-soft {
	background-image:
		radial-gradient(60% 80% at 0% 50%, oklch(0.66 0.28 355 / 0.18), transparent 70%),
		radial-gradient(60% 80% at 100% 50%, oklch(0.72 0.2 45 / 0.16), transparent 70%);
}

.btn-gradient {
	background: linear-gradient(95deg, oklch(0.66 0.28 355), oklch(0.72 0.2 45));
	color: white;
	transition:
		filter 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.btn-gradient:hover {
	filter: brightness(1.08);
	box-shadow: 0 10px 40px -10px oklch(0.66 0.28 355 / 0.55);
}

.ring-line {
	box-shadow: inset 0 0 0 1px oklch(1 0 0 / 0.08);
}

.company-card {
	position: relative;
	height: auto;
	min-height: 0;
	overflow: visible;
	border: 1px solid var(--ep-line);
	border-radius: 1.5rem;
	box-shadow: none;
}

.company-card > :not(.company-card-decoration) {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.company-card-decoration {
	z-index: 0;
}

.company-card-text {
	overflow: visible;
	text-overflow: unset;
	white-space: normal;
	overflow-wrap: anywhere;
	-webkit-line-clamp: unset;
	line-clamp: unset;
}

.ep-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ep-section-label {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
}

.ep-section-label__line {
	width: 2rem;
	height: 1px;
	background-image: linear-gradient(90deg, oklch(0.66 0.28 355), oklch(0.72 0.2 45));
}

.ep-section-label__text {
	color: oklch(1 0 0 / 70%);
	font-size: 0.625rem;
	line-height: 1rem;
	font-weight: 500;
	letter-spacing: 0.28em;
	text-transform: uppercase;
}

@keyframes marquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

.animate-marquee {
	animation: marquee 60s linear infinite;
}

@keyframes rise {
	from {
		opacity: 0;
		transform: translateY(18px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.animate-rise {
	animation: rise 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.ep-site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: oklch(0.08 0.005 280 / 70%);
	border-bottom: 1px solid oklch(1 0 0 / 10%);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
}

.ep-site-header__inner {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	width: 100%;
	max-width: var(--ep-container);
	height: 5rem;
	margin-inline: auto;
	padding-inline: var(--ep-pad-x);
}

.ep-site-header__logo-link {
	display: flex;
	flex-shrink: 0;
	align-items: center;
}

.ep-site-header__logo {
	width: auto;
	height: 1.75rem;
	user-select: none;
}

.ep-site-header__search-wrap {
	display: flex;
	flex: 1 1 auto;
	justify-content: center;
	min-width: 0;
}

.ep-site-header__search {
	position: relative;
	width: 100%;
	max-width: 28rem;
}

.ep-site-header__search-icon {
	position: absolute;
	top: 50%;
	left: 1rem;
	color: oklch(1 0 0 / 45%);
	font-size: 1rem;
	line-height: 1.5rem;
	pointer-events: none;
	transform: translateY(-50%);
}

.ep-site-header__search-input {
	width: 100%;
	height: 2.75rem;
	padding: 0 1rem 0 2.5rem;
	color: white;
	font-size: var(--ep-text-sm);
	line-height: var(--ep-text-sm-line-height);
	background: oklch(1 0 0 / 6%);
	border: 1px solid oklch(1 0 0 / 15%);
	border-radius: 9999px;
	outline: none;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease;
}

.ep-site-header__search-input::placeholder {
	color: oklch(1 0 0 / 45%);
}

.ep-site-header__search-input:focus {
	background: oklch(1 0 0 / 9%);
	border-color: oklch(1 0 0 / 40%);
}

.ep-site-header__cta,
.ep-site-footer__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
	padding: 0.625rem 1.25rem;
	font-size: var(--ep-text-sm);
	line-height: var(--ep-text-sm-line-height);
	font-weight: 500;
	border-radius: 9999px;
}

.ep-site-header__cta {
	display: none;
}

.ep-wordmark {
	position: relative;
	display: inline-flex;
	align-items: baseline;
}

.ep-wordmark__text {
	color: white;
	font-size: var(--ep-text-2xl);
	line-height: var(--ep-text-2xl-line-height);
	letter-spacing: var(--ep-tracking-tight);
	text-transform: lowercase;
}

.ep-wordmark__o {
	position: relative;
	display: inline-block;
}

.ep-wordmark__letter {
	position: relative;
	z-index: 1;
}

.ep-wordmark__dot {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: grid;
	place-items: center;
	width: 0.55em;
	height: 0.55em;
	margin: auto;
	border-radius: 9999px;
	pointer-events: none;
}

.ep-site-footer {
	position: relative;
	margin-top: 8rem;
	overflow: hidden;
	background: var(--ep-ink);
	border-top: 1px solid oklch(1 0 0 / 10%);
}

.ep-site-footer__backdrop {
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(60% 80% at 0% 50%, oklch(0.66 0.28 355 / 0.18), transparent 70%),
		radial-gradient(60% 80% at 100% 50%, oklch(0.72 0.2 45 / 0.16), transparent 70%);
	opacity: 0.6;
	pointer-events: none;
}

.ep-site-footer__inner {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 3rem;
	width: 100%;
	max-width: var(--ep-container);
	margin-inline: auto;
	padding: 5rem var(--ep-pad-x);
}

.ep-site-footer__brand {
	grid-column: span 2;
}

.ep-site-footer__copy {
	max-width: 24rem;
	margin-top: 1.5rem;
	color: oklch(1 0 0 / 60%);
	font-size: var(--ep-text-sm);
	line-height: var(--ep-leading-relaxed);
}

.ep-site-footer__cta {
	margin-top: 2rem;
}

.ep-site-footer__column-title {
	margin-bottom: 1.25rem;
	color: oklch(1 0 0 / 45%);
	font-size: 0.625rem;
	line-height: 1rem;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

.ep-site-footer__links {
	display: grid;
	gap: 0.75rem;
	padding: 0;
	margin: 0;
	color: oklch(1 0 0 / 80%);
	font-size: var(--ep-text-sm);
	line-height: var(--ep-text-sm-line-height);
	list-style: none;
}

.ep-site-footer__link {
	transition: color 0.2s ease;
}

.ep-site-footer__link:hover,
.ep-site-footer__link:focus-visible {
	color: white;
}

.ep-site-footer__bottom {
	position: relative;
	border-top: 1px solid oklch(1 0 0 / 10%);
}

.ep-site-footer__bottom-inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
	max-width: var(--ep-container);
	margin-inline: auto;
	padding: 1.5rem var(--ep-pad-x);
	color: oklch(1 0 0 / 45%);
	font-size: var(--ep-text-xs);
	line-height: var(--ep-text-xs-line-height);
}

.ep-site-footer__edition {
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

@media (min-width: 640px) {
	.ep-site-header__cta {
		display: inline-flex;
	}

	.ep-site-footer__bottom-inner {
		flex-direction: row;
		align-items: center;
	}
}

@media (min-width: 768px) {
	.ep-site-header__logo {
		height: 2rem;
	}

	.ep-site-footer__inner {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.ep-site-header__inner,
	.ep-site-footer__inner,
	.ep-site-footer__bottom-inner {
		padding-inline: var(--ep-pad-x-lg);
	}
}

.ep-button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem 1.75rem;
	font-size: 0.9375rem;
	line-height: 1.25rem;
	font-weight: 500;
	border-radius: 9999px;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.25s ease;
}

.ep-button--outline {
	color: white;
	background: transparent;
	border: 1px solid oklch(1 0 0 / 30%);
}

.ep-button--outline:hover,
.ep-button--outline:focus-visible {
	background: oklch(1 0 0 / 5%);
	border-color: white;
}

.ep-section-heading {
	max-width: 48rem;
}

.ep-section-heading--split {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	max-width: none;
	margin-bottom: 3.5rem;
}

.ep-section-heading__title-wrap {
	max-width: 42rem;
}

.ep-section-heading__title {
	padding-bottom: 0.5rem;
	margin-top: 1.25rem;
	color: white;
	font-size: var(--ep-text-4xl);
	line-height: 1.1;
	letter-spacing: -0.03em;
}

.ep-section-heading__copy {
	max-width: 24rem;
	color: oklch(1 0 0 / 65%);
	font-size: var(--ep-text-base);
	line-height: var(--ep-leading-relaxed);
}

.ep-card-grid {
	display: grid;
	gap: 1.25rem;
}

.ep-home-hero {
	position: relative;
	overflow: hidden;
}

.ep-home-hero__image,
.ep-home-hero__shade,
.ep-home-hero__soft {
	position: absolute;
	inset: 0;
}

.ep-home-hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.55;
}

.ep-home-hero__shade {
	background: linear-gradient(to bottom, oklch(0.08 0.005 280 / 60%), oklch(0.08 0.005 280 / 75%), var(--ep-ink));
}

.ep-home-hero__soft {
	opacity: 0.5;
}

.ep-home-hero__inner {
	position: relative;
	width: 100%;
	max-width: var(--ep-container);
	margin-inline: auto;
	padding: 7rem var(--ep-pad-x) 6rem;
}

.ep-home-hero__label {
	display: flex;
	align-items: center;
	gap: 1rem;
	color: oklch(1 0 0 / 70%);
	font-size: 0.625rem;
	line-height: 1rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
}

.ep-home-hero__label-line {
	width: 2.5rem;
	height: 1px;
}

.ep-home-hero__title {
	max-width: 64rem;
	margin-top: 2.5rem;
	color: white;
	font-size: clamp(2.8rem, 7vw, 6.2rem);
	line-height: 0.95;
	letter-spacing: -0.035em;
}

.ep-home-hero__copy {
	max-width: 42rem;
	margin-top: 2rem;
	color: oklch(1 0 0 / 70%);
	font-size: var(--ep-text-lg);
	line-height: var(--ep-leading-relaxed);
}

.ep-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin-top: 3rem;
}

.ep-home-hero__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2.5rem 2rem;
	max-width: 48rem;
	margin: 6rem auto 0;
	text-align: center;
}

.ep-home-hero__stat {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.ep-home-hero__stat-value {
	color: white;
	font-size: var(--ep-text-4xl);
	line-height: var(--ep-text-4xl-line-height);
	font-weight: 500;
	letter-spacing: var(--ep-tracking-tight);
}

.ep-home-hero__stat-label {
	margin-top: 0.5rem;
	color: oklch(1 0 0 / 55%);
	font-size: 0.6875rem;
	line-height: 1rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.ep-home-marquee {
	position: relative;
	overflow: hidden;
	background: oklch(0.08 0.005 280 / 60%);
	border-top: 1px solid oklch(1 0 0 / 10%);
	border-bottom: 1px solid oklch(1 0 0 / 10%);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.ep-home-marquee__track {
	display: flex;
	width: max-content;
	padding-block: 1.25rem;
	white-space: nowrap;
}

.ep-home-marquee__item {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	padding-inline: 2.5rem;
	color: oklch(1 0 0 / 60%);
	font-size: var(--ep-text-sm);
	line-height: var(--ep-text-sm-line-height);
}

.ep-home-marquee__dot {
	width: 0.25rem;
	height: 0.25rem;
	border-radius: 9999px;
}

.ep-home-marquee__name {
	color: white;
	font-size: var(--ep-text-lg);
	line-height: var(--ep-text-lg-line-height);
}

.ep-home-marquee__category {
	color: oklch(1 0 0 / 40%);
	font-size: 0.625rem;
	line-height: 1rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.ep-featured,
.ep-directory,
.ep-home-video,
.ep-apply,
.ep-ecosystem-banner {
	position: relative;
	border-bottom: 1px solid oklch(1 0 0 / 10%);
}

.ep-featured,
.ep-apply {
	overflow: hidden;
}

.ep-featured__backdrop,
.ep-apply__backdrop {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.ep-featured__backdrop {
	opacity: 0.4;
}

.ep-featured__inner {
	position: relative;
	padding-block: 6rem;
}

.ep-partner-card {
	isolation: isolate;
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
	padding: 2rem;
	background: var(--ep-surface);
	transition:
		background-color 0.3s ease,
		box-shadow 0.3s ease,
		transform 0.3s ease;
}

.ep-partner-card:hover,
.ep-partner-card:focus-visible {
	background: var(--ep-surface-2);
	transform: translateY(-0.25rem);
	box-shadow: 0 30px 80px -30px oklch(0.66 0.28 355 / 35%);
}

.ep-partner-card--featured {
	gap: 2rem;
}

.ep-partner-card--featured:hover,
.ep-partner-card--featured:focus-visible {
	background: var(--ep-surface);
	box-shadow: 0 40px 100px -30px oklch(0.66 0.28 355 / 45%);
}

.ep-partner-card__decoration {
	position: absolute;
	top: -5rem;
	right: -5rem;
	width: 14rem;
	height: 14rem;
	border-radius: 9999px;
	opacity: 0;
	filter: blur(64px);
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.ep-partner-card--featured:hover .ep-partner-card__decoration,
.ep-partner-card--featured:focus-visible .ep-partner-card__decoration {
	opacity: 0.2;
}

.ep-partner-card__top,
.ep-partner-card__meta {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}

.ep-partner-card__eyebrow,
.ep-partner-card__category {
	font-size: 0.625rem;
	line-height: 1rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.ep-partner-card__eyebrow {
	color: oklch(1 0 0 / 40%);
	text-align: right;
}

.ep-partner-card__category {
	color: oklch(1 0 0 / 55%);
}

.ep-partner-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 0.75rem;
}

.ep-partner-card--featured .ep-partner-card__body {
	gap: 1rem;
}

.ep-partner-card__title {
	padding-bottom: 0.125rem;
	color: white;
	font-size: var(--ep-text-2xl);
	line-height: 1.2;
}

.ep-partner-card--featured .ep-partner-card__title {
	font-size: var(--ep-text-3xl);
}

.ep-partner-card__tagline {
	color: oklch(1 0 0 / 70%);
	font-size: var(--ep-text-base);
	line-height: var(--ep-leading-relaxed);
}

.ep-partner-card__description {
	color: oklch(1 0 0 / 60%);
	font-size: var(--ep-text-sm);
	line-height: var(--ep-leading-relaxed);
}

.ep-partner-card--featured .ep-partner-card__description {
	color: oklch(1 0 0 / 55%);
}

.ep-partner-card__meta {
	flex-wrap: wrap;
	align-items: center;
	padding-top: 1.25rem;
	margin-top: auto;
	font-size: var(--ep-text-sm);
	line-height: var(--ep-text-sm-line-height);
	border-top: 1px solid oklch(1 0 0 / 10%);
}

.ep-partner-card--featured .ep-partner-card__meta {
	padding-top: 1.5rem;
}

.ep-partner-card__location {
	color: oklch(1 0 0 / 45%);
	font-size: var(--ep-text-xs);
	line-height: var(--ep-text-xs-line-height);
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.ep-partner-card__link {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	color: white;
	transition: color 0.2s ease;
}

.ep-partner-card__link span {
	transition: transform 0.2s ease;
}

.ep-partner-card:hover .ep-partner-card__link,
.ep-partner-card:focus-visible .ep-partner-card__link {
	color: oklch(0.74 0.2 45);
}

.ep-partner-card:hover .ep-partner-card__link span,
.ep-partner-card:focus-visible .ep-partner-card__link span {
	transform: translateX(0.25rem);
}

.ep-logo-mark {
	position: relative;
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	overflow: hidden;
	color: white;
	font-size: var(--ep-text-sm);
	line-height: var(--ep-text-sm-line-height);
	border-radius: 9999px;
}

.ep-logo-mark--large {
	width: 4rem;
	height: 4rem;
	font-size: var(--ep-text-xl);
	line-height: var(--ep-text-xl-line-height);
}

.ep-logo-mark__gradient,
.ep-logo-mark__inner {
	position: absolute;
	inset: 0;
}

.ep-logo-mark__gradient {
	opacity: 0.9;
}

.ep-logo-mark__inner {
	inset: 1.5px;
	background: var(--ep-surface);
	border-radius: inherit;
}

.ep-logo-mark__text {
	position: relative;
	font-weight: 500;
	letter-spacing: var(--ep-tracking-tight);
}

.ep-ecosystem-banner__container,
.ep-directory__inner,
.ep-home-video__inner {
	padding-block: 5rem;
}

.ep-ecosystem-banner__frame {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--ep-surface);
	border-radius: 28px;
}

.ep-ecosystem-banner__backdrop,
.ep-ecosystem-banner__glow,
.ep-video-embed__backdrop,
.ep-video-embed__glow {
	position: absolute;
	pointer-events: none;
}

.ep-ecosystem-banner__backdrop,
.ep-video-embed__backdrop {
	inset: 0;
	opacity: 0.95;
}

.ep-ecosystem-banner__glow {
	width: 34rem;
	height: 34rem;
	border-radius: 9999px;
	opacity: 0.3;
	filter: blur(64px);
}

.ep-ecosystem-banner__glow--top {
	top: -10rem;
	right: -10rem;
}

.ep-ecosystem-banner__glow--bottom {
	bottom: -10rem;
	left: -10rem;
	width: 28rem;
	height: 28rem;
	opacity: 0.25;
}

.ep-ecosystem-banner__slides {
	position: relative;
}

.ep-ecosystem-banner__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	transform: translateY(0.75rem);
	transition:
		opacity 0.7s ease,
		transform 0.7s ease;
}

.ep-ecosystem-banner__slide.is-active {
	position: relative;
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.ep-ecosystem-banner__slide-grid {
	position: relative;
	display: grid;
	gap: 2.5rem;
	align-items: center;
	padding: 3.5rem 1.75rem;
}

.ep-ecosystem-banner__title {
	padding-bottom: 0.5rem;
	margin-top: 1.5rem;
	color: white;
	font-size: var(--ep-text-4xl);
	line-height: 1.05;
	letter-spacing: -0.03em;
}

.ep-ecosystem-banner__copy {
	max-width: 42rem;
	margin-top: 1.75rem;
	color: oklch(1 0 0 / 75%);
	font-size: var(--ep-text-base);
	line-height: var(--ep-leading-relaxed);
}

.ep-ecosystem-banner__count {
	position: absolute;
	top: 2.5rem;
	right: 2.5rem;
	display: none;
	color: oklch(1 0 0 / 45%);
	font-size: 0.625rem;
	line-height: 1rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	pointer-events: none;
}

.ep-ecosystem-banner__controls {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 0 1.75rem 2.5rem;
}

.ep-ecosystem-banner__dots,
.ep-ecosystem-banner__arrows {
	display: flex;
	align-items: center;
	gap: 0.625rem;
}

.ep-ecosystem-banner__dot {
	width: 1.25rem;
	height: 0.375rem;
	padding: 0;
	background: oklch(1 0 0 / 25%);
	border: 0;
	border-radius: 9999px;
	transition:
		width 0.5s ease,
		background 0.2s ease;
}

.ep-ecosystem-banner__dot:hover,
.ep-ecosystem-banner__dot:focus-visible {
	background: oklch(1 0 0 / 50%);
}

.ep-ecosystem-banner__dot.is-active {
	width: 2.5rem;
	background: linear-gradient(90deg, oklch(0.66 0.28 355), oklch(0.72 0.2 45));
}

.ep-ecosystem-banner__arrow {
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	color: oklch(1 0 0 / 80%);
	background: transparent;
	border: 1px solid oklch(1 0 0 / 20%);
	border-radius: 9999px;
	transition:
		border-color 0.2s ease,
		color 0.2s ease;
}

.ep-ecosystem-banner__arrow:hover,
.ep-ecosystem-banner__arrow:focus-visible {
	color: white;
	border-color: white;
}

.ep-directory__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	margin-top: 3rem;
}

.ep-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.625rem 1.25rem;
	color: oklch(1 0 0 / 75%);
	font-size: var(--ep-text-sm);
	line-height: var(--ep-text-sm-line-height);
	background: transparent;
	border: 1px solid oklch(1 0 0 / 15%);
	border-radius: 9999px;
	transition:
		border-color 0.2s ease,
		color 0.2s ease,
		filter 0.25s ease,
		box-shadow 0.25s ease;
}

.ep-filter-chip:hover,
.ep-filter-chip:focus-visible {
	color: white;
	border-color: oklch(1 0 0 / 40%);
}

.ep-filter-chip.is-active {
	color: white;
	font-weight: 500;
	border-color: transparent;
	background: linear-gradient(95deg, oklch(0.66 0.28 355), oklch(0.72 0.2 45));
}

.ep-filter-chip span {
	color: oklch(1 0 0 / 40%);
	font-size: 0.625rem;
	line-height: 1rem;
}

.ep-filter-chip.is-active span {
	color: white;
	opacity: 0.8;
}

.ep-directory__summary {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	margin: 3.5rem 0 2.5rem;
}

.ep-directory__count,
.ep-directory__reset {
	color: oklch(1 0 0 / 55%);
	font-size: 0.6875rem;
	line-height: 1rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.ep-directory__reset {
	padding: 0;
	background: transparent;
	border: 0;
	transition: color 0.2s ease;
}

.ep-directory__reset:hover,
.ep-directory__reset:focus-visible {
	color: white;
}

.ep-directory__empty {
	padding: 4rem;
	color: white;
	text-align: center;
	background: var(--ep-surface);
	border-radius: 1rem;
}

.ep-directory__empty .font-display {
	font-size: var(--ep-text-2xl);
	line-height: var(--ep-text-2xl-line-height);
}

.ep-directory__empty p + p {
	margin-top: 0.5rem;
	color: oklch(1 0 0 / 55%);
}

.ep-home-video__inner,
.ep-apply__inner {
	display: grid;
	gap: 3rem;
}

.ep-home-video__inner {
	align-items: center;
}

.ep-home-video__title {
	padding-bottom: 0.5rem;
	margin-top: 1.5rem;
	color: white;
	font-size: var(--ep-text-4xl);
	line-height: 1.05;
	letter-spacing: -0.03em;
}

.ep-home-video__copy,
.ep-apply__copy {
	max-width: 28rem;
	margin-top: 1.75rem;
	color: oklch(1 0 0 / 70%);
	font-size: var(--ep-text-lg);
	line-height: var(--ep-leading-relaxed);
}

.ep-home-video__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 2rem;
	color: white;
	font-size: var(--ep-text-sm);
	line-height: var(--ep-text-sm-line-height);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	transition: color 0.2s ease;
}

.ep-home-video__link:hover,
.ep-home-video__link:focus-visible {
	color: oklch(0.74 0.2 45);
}

.ep-video-embed {
	position: relative;
	isolation: isolate;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--ep-surface);
	border-radius: 20px;
}

.ep-video-embed__backdrop {
	opacity: 0.8;
}

.ep-video-embed__glow {
	width: 18rem;
	height: 18rem;
	border-radius: 9999px;
	opacity: 0.25;
	filter: blur(64px);
}

.ep-video-embed__glow--top {
	top: -6rem;
	right: -5rem;
}

.ep-video-embed__glow--bottom {
	bottom: -6rem;
	left: -5rem;
	opacity: 0.2;
}

.ep-video-embed__content {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	padding: 1.5rem;
	text-align: center;
}

.ep-video-embed__play {
	display: grid;
	place-items: center;
	width: 5rem;
	height: 5rem;
	padding: 0;
	border: 0;
	border-radius: 9999px;
	box-shadow: 0 20px 60px -15px oklch(0.66 0.28 355 / 60%);
	transition: transform 0.2s ease;
}

.ep-video-embed__play:hover,
.ep-video-embed__play:focus-visible {
	transform: scale(1.05);
}

.ep-video-embed__play-icon {
	width: 1.75rem;
	height: 1.75rem;
	fill: white;
	transform: translateX(2px);
}

.ep-video-embed__label {
	margin-top: 1.5rem;
	font-size: 0.625rem;
	line-height: 1rem;
	font-weight: 500;
	letter-spacing: 0.28em;
	text-transform: uppercase;
}

.ep-video-embed__title {
	max-width: 28rem;
	margin-top: 0.75rem;
	color: oklch(1 0 0 / 85%);
	font-size: var(--ep-text-xl);
	line-height: 1.375;
}

.ep-apply {
	overflow: hidden;
	border-top: 1px solid oklch(1 0 0 / 10%);
}

.ep-apply__backdrop {
	opacity: 0.8;
}

.ep-apply__inner {
	position: relative;
	padding-block: 7rem;
}

.ep-apply__title {
	margin-top: 1.5rem;
	color: white;
	font-size: clamp(3rem, 7vw, 4.5rem);
	line-height: 0.98;
	letter-spacing: -0.035em;
}

.ep-apply__copy {
	max-width: 36rem;
	margin-top: 2rem;
}

.ep-apply__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 2.5rem;
}

.ep-apply__steps {
	display: grid;
	gap: 1.75rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.ep-apply__step {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem;
	padding-bottom: 1.75rem;
	border-bottom: 1px solid oklch(1 0 0 / 10%);
}

.ep-apply__step-number {
	padding-top: 0.375rem;
	font-size: var(--ep-text-xs);
	line-height: var(--ep-text-xs-line-height);
	font-weight: 500;
}

.ep-apply__step-text {
	color: white;
	font-size: var(--ep-text-2xl);
	line-height: 1.375;
}

@media (min-width: 640px) {
	.ep-card-grid--directory {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ep-ecosystem-banner__slide-grid {
		padding-inline: 2.5rem;
	}

	.ep-ecosystem-banner__controls {
		padding-inline: 2.5rem;
	}
}

@media (min-width: 768px) {
	.ep-home-hero__stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

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

@media (min-width: 1024px) {
	.ep-section-heading--split {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}

	.ep-section-heading__title,
	.ep-ecosystem-banner__title {
		font-size: 3.75rem;
	}

	.ep-home-hero__inner {
		padding: 10rem var(--ep-pad-x-lg) 9rem;
	}

	.ep-home-hero__copy,
	.ep-video-embed__title {
		font-size: var(--ep-text-xl);
		line-height: var(--ep-text-xl-line-height);
	}

	.ep-home-hero__stat-value {
		font-size: 3rem;
		line-height: 1;
	}

	.ep-featured__inner {
		padding-block: 8rem;
	}

	.ep-card-grid--featured,
	.ep-card-grid--directory {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ep-partner-card--featured {
		padding: 2.5rem;
	}

	.ep-ecosystem-banner__container,
	.ep-directory__inner,
	.ep-home-video__inner {
		padding-block: 7rem;
	}

	.ep-ecosystem-banner__slide-grid {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: 3rem;
		padding: 5rem 3.5rem;
	}

	.ep-ecosystem-banner__content {
		grid-column: span 8;
	}

	.ep-ecosystem-banner__cta-wrap {
		grid-column: span 4;
		display: flex;
		justify-content: flex-end;
	}

	.ep-ecosystem-banner__count {
		display: block;
	}

	.ep-ecosystem-banner__controls {
		padding: 0 3.5rem 3rem;
	}

	.ep-home-video__inner,
	.ep-apply__inner {
		grid-template-columns: repeat(12, minmax(0, 1fr));
	}

	.ep-home-video__content {
		grid-column: span 5;
	}

	.ep-home-video__embed {
		grid-column: span 7;
	}

	.ep-home-video__title {
		font-size: 3rem;
	}

	.ep-apply__inner {
		padding-block: 10rem;
	}

	.ep-apply__content {
		grid-column: span 7;
	}

	.ep-apply__steps {
		grid-column: span 5;
		padding-left: 3rem;
		border-left: 1px solid oklch(1 0 0 / 10%);
	}
}

.ep-partner-detail {
	min-height: 100vh;
	background: var(--ep-ink);
	color: white;
}

.ep-partner-breadcrumb {
	border-bottom: 1px solid oklch(1 0 0 / 10%);
}

.ep-partner-breadcrumb__inner {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	max-width: var(--ep-container);
	padding: 1.25rem var(--ep-pad-x);
	margin-inline: auto;
	color: oklch(1 0 0 / 55%);
	font-size: var(--ep-text-xs);
	line-height: var(--ep-text-xs-line-height);
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.ep-partner-breadcrumb a {
	color: inherit;
}

.ep-partner-breadcrumb a:hover {
	color: white;
}

.ep-partner-breadcrumb span[aria-hidden="true"] {
	color: oklch(1 0 0 / 30%);
}

.ep-partner-breadcrumb__current {
	color: white;
}

.ep-partner-hero,
.ep-partner-lead {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid oklch(1 0 0 / 10%);
}

.ep-partner-hero__backdrop,
.ep-partner-lead__backdrop {
	position: absolute;
	inset: 0;
	opacity: 0.5;
	pointer-events: none;
}

.ep-partner-lead__backdrop {
	opacity: 0.6;
}

.ep-partner-hero__inner,
.ep-partner-differentiators__inner,
.ep-partner-video__inner,
.ep-partner-gallery__inner,
.ep-partner-lead__inner,
.ep-partner-related {
	max-width: var(--ep-container);
	padding-inline: var(--ep-pad-x);
	margin-inline: auto;
}

.ep-partner-hero__inner {
	position: relative;
	display: grid;
	gap: 3rem;
	padding-block: 5rem 6rem;
}

.ep-partner-hero__identity {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	margin-bottom: 2.5rem;
}

.ep-partner-hero__kicker {
	font-size: 0.625rem;
	line-height: 1rem;
	font-weight: 500;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

.ep-partner-hero__meta {
	margin-top: 0.5rem;
	color: oklch(1 0 0 / 55%);
	font-size: var(--ep-text-sm);
	line-height: var(--ep-text-sm-line-height);
}

.ep-partner-hero__title {
	max-width: 52rem;
	font-size: clamp(2.6rem, 6vw, 5.4rem);
	font-weight: 500;
	line-height: 0.98;
	letter-spacing: -0.035em;
}

.ep-partner-hero__tagline {
	max-width: 42rem;
	margin-top: 2rem;
	font-size: var(--ep-text-2xl);
	line-height: 1.375;
}

.ep-partner-hero__description {
	max-width: 42rem;
	margin-top: 2rem;
	color: oklch(1 0 0 / 70%);
	font-size: var(--ep-text-lg);
	line-height: var(--ep-text-lg-line-height);
}

.ep-partner-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin-top: 3rem;
}

.ep-partner-hero__primary,
.ep-partner-hero__secondary,
.ep-lead-form__footer button,
.ep-partner-not-found__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	border-radius: var(--ep-radius-full);
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
}

.ep-partner-hero__primary,
.ep-lead-form__footer button,
.ep-partner-not-found__link {
	padding: 1rem 1.75rem;
	color: white;
}

.ep-partner-hero__secondary {
	padding: 1rem 1.75rem;
	border: 1px solid oklch(1 0 0 / 30%);
	color: white;
	transition: border-color 180ms ease, background-color 180ms ease;
}

.ep-partner-hero__secondary:hover {
	border-color: white;
	background: oklch(1 0 0 / 5%);
}

.ep-partner-card-aside,
.ep-lead-form,
.ep-lead-form-success {
	border: 1px solid oklch(1 0 0 / 10%);
	border-radius: var(--ep-radius-2xl);
	background: var(--ep-surface);
	box-shadow: 0 0 0 1px oklch(1 0 0 / 5%) inset;
}

.ep-partner-card-aside {
	padding: 2rem;
}

.ep-partner-card-aside__eyebrow {
	color: oklch(1 0 0 / 55%);
	font-size: 0.625rem;
	line-height: 1rem;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

.ep-partner-card-aside__list {
	margin: 1.75rem 0 0;
}

.ep-partner-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 1rem;
	border-top: 1px solid oklch(1 0 0 / 10%);
}

.ep-partner-row:first-child {
	border-top: 0;
}

.ep-partner-row dt,
.ep-partner-contact-line dt {
	color: oklch(1 0 0 / 50%);
	font-size: 0.625rem;
	line-height: 1rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.ep-partner-row dd {
	margin: 0;
	color: white;
	font-size: var(--ep-text-sm);
	line-height: var(--ep-text-sm-line-height);
	text-align: right;
}

.ep-partner-premium {
	padding: 1.25rem;
	margin-top: 1.75rem;
	border: 1px dashed oklch(1 0 0 / 15%);
	border-radius: var(--ep-radius-xl);
	color: oklch(1 0 0 / 55%);
	font-size: var(--ep-text-xs);
	line-height: var(--ep-text-xs-line-height);
}

.ep-partner-premium p:first-child {
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.ep-partner-premium p:last-child {
	margin-top: 0.5rem;
	line-height: 1.625;
}

.ep-partner-differentiators,
.ep-partner-video,
.ep-partner-gallery {
	border-bottom: 1px solid oklch(1 0 0 / 10%);
}

.ep-partner-differentiators__inner,
.ep-partner-video__inner {
	display: grid;
	gap: 3rem;
	padding-block: 6rem;
}

.ep-partner-section-title {
	margin-top: 1.5rem;
	color: white;
	font-size: 2.25rem;
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.03em;
}

.ep-partner-section-copy {
	max-width: 28rem;
	margin-top: 1.75rem;
	color: oklch(1 0 0 / 70%);
	font-size: var(--ep-text-lg);
	line-height: var(--ep-text-lg-line-height);
}

.ep-partner-differentiators__list {
	display: grid;
	gap: 1.25rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.ep-partner-differentiators__item {
	padding: 1.75rem;
	border: 1px solid oklch(1 0 0 / 10%);
	border-radius: var(--ep-radius-2xl);
	background: var(--ep-surface);
	box-shadow: 0 0 0 1px oklch(1 0 0 / 5%) inset;
	transition: background-color 180ms ease;
}

.ep-partner-differentiators__item:hover {
	background: var(--ep-surface-2);
}

.ep-partner-differentiators__number {
	font-size: var(--ep-text-xs);
	line-height: var(--ep-text-xs-line-height);
	font-weight: 500;
}

.ep-partner-differentiators__item p {
	margin-top: 1rem;
	color: white;
	font-size: var(--ep-text-xl);
	line-height: 1.375;
}

.ep-partner-video__inner {
	align-items: center;
}

.ep-partner-gallery__inner {
	padding-block: 6rem;
}

.ep-partner-gallery__header,
.ep-partner-related__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
}

.ep-partner-gallery__header {
	margin-bottom: 3rem;
}

.ep-partner-gallery__title {
	margin-top: 1.5rem;
	color: white;
	font-size: 2.25rem;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.03em;
}

.ep-partner-gallery__header > span {
	display: none;
	color: oklch(1 0 0 / 45%);
	font-size: var(--ep-text-xs);
	line-height: var(--ep-text-xs-line-height);
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.ep-partner-gallery__grid {
	display: grid;
	gap: 1rem;
}

.ep-partner-gallery__figure {
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border: 1px solid oklch(1 0 0 / 10%);
	border-radius: var(--ep-radius-2xl);
	background: var(--ep-surface);
	box-shadow: 0 0 0 1px oklch(1 0 0 / 5%) inset;
}

.ep-partner-gallery__figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ep-partner-lead__inner {
	position: relative;
	display: grid;
	gap: 3.5rem;
	padding-block: 7rem;
}

.ep-partner-lead__title {
	margin-top: 1.5rem;
	color: white;
	font-size: 2.25rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.03em;
}

.ep-partner-contact-list {
	display: grid;
	gap: 1.25rem;
	margin: 3rem 0 0;
}

.ep-partner-contact-line {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid oklch(1 0 0 / 10%);
}

.ep-partner-contact-line dd {
	margin: 0;
	color: white;
	font-family: var(--ep-font-display);
	font-size: var(--ep-text-lg);
	line-height: var(--ep-text-lg-line-height);
	text-align: right;
}

.ep-lead-form {
	display: grid;
	gap: 1.75rem 1.5rem;
	padding: 2rem;
}

.ep-lead-form__field {
	display: block;
}

.ep-lead-form__field > span:first-child {
	color: oklch(1 0 0 / 55%);
	font-size: 0.625rem;
	line-height: 1rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.ep-lead-form input {
	width: 100%;
	padding: 0 0 0.625rem;
	margin-top: 0.625rem;
	border: 0;
	border-bottom: 1px solid oklch(1 0 0 / 20%);
	border-radius: 0;
	background: transparent;
	color: white;
	font-size: 1rem;
	line-height: 1.5;
	transition: border-color 180ms ease;
}

.ep-lead-form input:focus {
	border-color: white;
	outline: none;
}

.ep-lead-form input[aria-invalid="true"] {
	border-color: var(--ep-destructive);
}

.ep-lead-form__error {
	display: block;
	margin-top: 0.375rem;
	color: var(--ep-destructive);
	font-size: var(--ep-text-xs);
	line-height: var(--ep-text-xs-line-height);
}

.ep-lead-form__error[hidden] {
	display: none;
}

.ep-lead-form__footer {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding-top: 1.25rem;
	border-top: 1px solid oklch(1 0 0 / 10%);
}

.ep-lead-form__footer p {
	max-width: 24rem;
	color: oklch(1 0 0 / 50%);
	font-size: var(--ep-text-xs);
	line-height: var(--ep-text-xs-line-height);
}

.ep-lead-form__footer button {
	border: 0;
	cursor: pointer;
}

.ep-lead-form-success {
	padding: 3rem;
	text-align: center;
}

.ep-lead-form-success[hidden],
.ep-lead-form[hidden] {
	display: none;
}

.ep-lead-form-success__eyebrow {
	font-size: 0.625rem;
	line-height: 1rem;
	font-weight: 500;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

.ep-lead-form-success__title {
	margin-top: 1rem;
	color: white;
	font-size: 2.25rem;
	line-height: 1.1;
}

.ep-lead-form-success p:last-of-type {
	max-width: 28rem;
	margin: 1rem auto 0;
	color: oklch(1 0 0 / 65%);
}

.ep-lead-form-success button {
	margin-top: 2rem;
	border: 0;
	background: transparent;
	color: oklch(1 0 0 / 55%);
	font-size: var(--ep-text-xs);
	line-height: var(--ep-text-xs-line-height);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	cursor: pointer;
}

.ep-lead-form-success button:hover {
	color: white;
}

.ep-partner-related {
	padding-block: 6rem;
}

.ep-partner-related__header {
	align-items: baseline;
	padding-bottom: 1.25rem;
	margin-bottom: 2.5rem;
	border-bottom: 1px solid oklch(1 0 0 / 10%);
}

.ep-partner-related__header h2 {
	color: white;
	font-size: var(--ep-text-2xl);
	line-height: var(--ep-text-2xl-line-height);
}

.ep-partner-related__header a {
	color: oklch(1 0 0 / 55%);
	font-size: var(--ep-text-xs);
	line-height: var(--ep-text-xs-line-height);
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.ep-partner-related__header a:hover {
	color: white;
}

.ep-partner-related__grid {
	display: grid;
	gap: 1.25rem;
}

.ep-partner-not-found {
	display: grid;
	min-height: 100vh;
	place-items: center;
	padding: 2.5rem;
	background: var(--ep-ink);
	color: white;
}

.ep-partner-not-found__inner {
	max-width: 32rem;
	text-align: center;
}

.ep-partner-not-found__code {
	font-size: 0.625rem;
	line-height: 1rem;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

.ep-partner-not-found__title {
	margin-top: 1rem;
	color: white;
	font-size: 3rem;
	line-height: 1;
}

.ep-partner-not-found__link {
	margin-top: 2rem;
}

.ep-not-found {
	display: flex;
	min-height: 100vh;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: var(--ep-background);
	color: var(--ep-foreground);
}

.ep-not-found__inner {
	max-width: 28rem;
	text-align: center;
}

.ep-not-found__code {
	color: var(--ep-foreground);
	font-size: 4.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
}

.ep-not-found__title {
	margin-top: 1rem;
	color: var(--ep-foreground);
	font-size: var(--ep-text-xl);
	font-weight: 600;
	line-height: var(--ep-text-xl-line-height);
	letter-spacing: 0;
}

.ep-not-found__copy {
	margin-top: 0.5rem;
	color: var(--ep-muted-foreground);
	font-size: var(--ep-text-sm);
	line-height: var(--ep-text-sm-line-height);
}

.ep-not-found__actions {
	margin-top: 1.5rem;
}

.ep-not-found__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1rem;
	border-radius: var(--ep-radius-md);
	background: var(--ep-primary);
	color: var(--ep-primary-foreground);
	font-size: var(--ep-text-sm);
	line-height: var(--ep-text-sm-line-height);
	font-weight: 500;
	transition: background-color 180ms ease;
}

.ep-not-found__link:hover {
	background: oklch(0.98 0 0 / 90%);
}

@media (min-width: 640px) {
	.ep-partner-differentiators__list,
	.ep-lead-form,
	.ep-partner-related__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ep-lead-form__field--full,
	.ep-lead-form__footer {
		grid-column: span 2;
	}

	.ep-lead-form__footer {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}

	.ep-partner-gallery__header > span {
		display: block;
	}
}

@media (min-width: 768px) {
	.ep-partner-gallery__grid {
		grid-template-columns: repeat(12, minmax(0, 1fr));
	}

	.ep-partner-gallery__figure--wide {
		grid-column: span 7;
	}

	.ep-partner-gallery__figure--narrow {
		grid-column: span 5;
	}
}

@media (min-width: 1024px) {
	.ep-partner-breadcrumb__inner,
	.ep-partner-hero__inner,
	.ep-partner-differentiators__inner,
	.ep-partner-video__inner,
	.ep-partner-gallery__inner,
	.ep-partner-lead__inner,
	.ep-partner-related {
		padding-inline: var(--ep-pad-x-lg);
	}

	.ep-partner-hero__inner,
	.ep-partner-differentiators__inner,
	.ep-partner-video__inner,
	.ep-partner-lead__inner {
		grid-template-columns: repeat(12, minmax(0, 1fr));
	}

	.ep-partner-hero__inner {
		gap: 4rem;
		padding-block: 7rem 6rem;
	}

	.ep-partner-hero__content {
		grid-column: span 7;
	}

	.ep-partner-hero__aside {
		grid-column: span 5;
	}

	.ep-partner-hero__tagline {
		font-size: 1.875rem;
		line-height: 1.375;
	}

	.ep-partner-differentiators__inner {
		padding-block: 7rem;
	}

	.ep-partner-differentiators__header {
		grid-column: span 4;
	}

	.ep-partner-differentiators__list {
		grid-column: span 8;
	}

	.ep-partner-section-title,
	.ep-partner-gallery__title {
		font-size: 3rem;
	}

	.ep-partner-video__inner {
		padding-block: 6rem;
	}

	.ep-partner-video__content {
		grid-column: span 5;
	}

	.ep-partner-video__media {
		grid-column: span 7;
	}

	.ep-partner-lead__inner {
		padding-block: 7rem;
	}

	.ep-partner-lead__content {
		grid-column: span 5;
	}

	.ep-partner-lead__form-wrap {
		grid-column: span 7;
	}

	.ep-partner-lead__title {
		font-size: 3.75rem;
	}

	.ep-lead-form {
		padding: 2.5rem;
	}

	.ep-partner-related__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
