#espn-event-page,
#espn-event-page * {
		box-sizing: border-box;
}

#espn-event-page {
		--espn-blue: #2f2e83;
		--espn-dark: #07111f;
		--espn-green: #2f8f46;
		--espn-yellow: #e9f26b;
		--espn-white: #ffffff;
		--espn-text: #dfe7f2;
		--espn-muted: #a8bad3;
		--espn-card: rgba(12, 20, 36, 0.78);
		--espn-border: rgba(255, 255, 255, 0.12);
		--espn-shadow: 0 20px 60px rgba(0, 0, 0, 0.30);
		--espn-accent-note: #ffcf5a;
		position: relative;
		overflow: hidden;
		background:
				radial-gradient(circle at top left, rgba(47, 46, 131, 0.25), transparent 32%),
				radial-gradient(circle at top right, rgba(47, 143, 70, 0.18), transparent 28%),
				linear-gradient(135deg, #06101d 0%, #0c1b31 50%, #091321 100%);
		color: var(--espn-text);
		font-family: Arial, Helvetica, sans-serif;
}

#espn-event-page a {
		text-decoration: none;
}

#espn-event-page .espn-container {
		width: min(1180px, calc(100% - 32px));
		margin: 0 auto;
}

#espn-event-page .espn-hero {
		position: relative;
		padding: 90px 0 56px;
}

#espn-event-page .espn-grid,
#espn-event-page .espn-form-grid,
#espn-event-page .espn-event-grid {
		display: grid;
		gap: 32px;
		align-items: center;
}

#espn-event-page .espn-grid {
		grid-template-columns: 1.1fr 0.9fr;
}

#espn-event-page .espn-form-grid,
#espn-event-page .espn-event-grid {
		grid-template-columns: 1fr 1fr;
}

#espn-event-page .espn-brand-block {
		margin-bottom: 24px;
}

#espn-event-page .espn-brand-logo-wrap {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		background: #ffffff;
		border-radius: 22px;
		padding: 20px 24px;
		box-shadow: 0 12px 28px rgba(0,0,0,0.18);
		max-width: 100%;
		width: fit-content;
}

#espn-event-page .espn-brand-logo {
		display: block;
		width: 300px;
		height: 104px;
		max-width: 100%;
		object-fit: contain;
}

#espn-event-page .espn-badge-wrap {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		margin-bottom: 20px;
}

#espn-event-page .espn-badge,
#espn-event-page .espn-kicker,
#espn-event-page .espn-overline {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-weight: 700;
		letter-spacing: 0.04em;
}

#espn-event-page .espn-badge {
		padding: 10px 16px;
		border-radius: 999px;
		background: rgba(233, 242, 107, 0.14);
		color: var(--espn-yellow);
		border: 1px solid rgba(233, 242, 107, 0.22);
		font-size: 13px;
}

#espn-event-page .espn-badge-outline {
		background: rgba(255,255,255,0.04);
		color: var(--espn-white);
		border-color: rgba(255,255,255,0.14);
}

#espn-event-page h1,
#espn-event-page h2,
#espn-event-page h3,
#espn-event-page p,
#espn-event-page ul {
		margin: 0;
}

#espn-event-page h1 {
		font-size: clamp(40px, 5vw, 72px);
		line-height: 1.02;
		letter-spacing: -0.035em;
		max-width: 10.5ch;
		margin-bottom: 20px;
		color: #ffffff;
}

#espn-event-page .espn-lead,
#espn-event-page .espn-section-head p,
#espn-event-page .espn-info-panel p,
#espn-event-page .espn-form-copy p,
#espn-event-page .espn-timeline-item p,
#espn-event-page .espn-feature-card p,
#espn-event-page .espn-event-card-top p,
#espn-event-page .espn-event-feature p {
		color: var(--espn-muted);
		font-size: 16px;
		line-height: 1.75;
}

#espn-event-page .espn-hero-highlights {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 14px;
		margin-top: 28px;
}

#espn-event-page .espn-highlight-item,
#espn-event-page .espn-feature-card,
#espn-event-page .espn-info-panel,
#espn-event-page .espn-timeline-card,
#espn-event-page .espn-form-wrap,
#espn-event-page .espn-hero-event-card {
		background: var(--espn-card);
		border: 1px solid var(--espn-border);
		border-radius: 24px;
		box-shadow: var(--espn-shadow);
		backdrop-filter: blur(12px);
}

#espn-event-page .espn-highlight-item {
		padding: 18px 18px;
}

#espn-event-page .espn-highlight-label {
		display: block;
		font-size: 12px;
		text-transform: uppercase;
		color: var(--espn-yellow);
		letter-spacing: 0.08em;
		margin-bottom: 8px;
		font-weight: 700;
}

#espn-event-page .espn-highlight-item strong {
		color: #ffffff;
		font-size: 15px;
		line-height: 1.5;
		display: block;
}

#espn-event-page .espn-highlight-note,
#espn-event-page .espn-feature-note {
		display: inline-block;
		margin-top: 8px;
		color: var(--espn-accent-note);
		font-size: 13px;
		font-weight: 700;
		line-height: 1.4;
}

#espn-event-page .espn-venue-link {
		color: #ffffff;
		text-decoration: underline;
		text-decoration-color: rgba(255,255,255,0.35);
		text-underline-offset: 3px;
		transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

#espn-event-page .espn-venue-link:hover {
		color: var(--espn-yellow);
		text-decoration-color: var(--espn-yellow);
}

#espn-event-page .espn-cta-row {
		display: flex;
		gap: 14px;
		flex-wrap: wrap;
		margin-top: 28px;
}

#espn-event-page .espn-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 54px;
		padding: 14px 24px;
		border-radius: 999px;
		font-weight: 700;
		transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
		cursor: pointer;
		border: 0;
}

#espn-event-page .espn-btn:hover {
		transform: translateY(-2px);
}

#espn-event-page .espn-btn-primary {
		background: linear-gradient(135deg, var(--espn-blue), var(--espn-green));
		color: #ffffff;
		box-shadow: 0 14px 30px rgba(47, 46, 131, 0.28);
}

#espn-event-page .espn-btn-secondary {
		background: rgba(255,255,255,0.06);
		color: #ffffff;
		border: 1px solid rgba(255,255,255,0.14);
}

#espn-event-page .espn-btn-full {
		width: 100%;
}

#espn-event-page .espn-hero-event-card {
		padding: 28px;
		position: relative;
		overflow: hidden;
}

#espn-event-page .espn-hero-event-card::before {
		content: "";
		position: absolute;
		top: -80px;
		right: -80px;
		width: 220px;
		height: 220px;
		border-radius: 50%;
		background: radial-gradient(circle, rgba(233,242,107,0.10), transparent 68%);
		pointer-events: none;
}

#espn-event-page .espn-event-card-top {
		margin-bottom: 24px;
}

#espn-event-page .espn-overline,
#espn-event-page .espn-kicker {
		color: var(--espn-yellow);
		text-transform: uppercase;
		font-size: 12px;
		margin-bottom: 8px;
}

#espn-event-page .espn-event-card-top h3,
#espn-event-page .espn-info-panel h3,
#espn-event-page .espn-timeline-card h3,
#espn-event-page .espn-form-copy h2,
#espn-event-page .espn-section-head h2,
#espn-event-page .espn-feature-card h3 {
		color: #ffffff;
}

#espn-event-page .espn-event-card-top h3 {
		font-size: 30px;
		line-height: 1.1;
		margin-bottom: 12px;
}

#espn-event-page .espn-match-panel {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		margin-bottom: 22px;
		padding: 22px 18px;
		border-radius: 24px;
		overflow: hidden;
		border: 1px solid rgba(255,255,255,0.10);
		background:
				linear-gradient(to right, rgba(255,255,255,0.06) 0, rgba(255,255,255,0.06) 2px, transparent 2px, transparent 100%),
				linear-gradient(to bottom, rgba(255,255,255,0.045) 0, rgba(255,255,255,0.045) 1px, transparent 1px, transparent 100%),
				repeating-linear-gradient(
						90deg,
						rgba(46, 122, 63, 0.88) 0px,
						rgba(46, 122, 63, 0.88) 36px,
						rgba(39, 109, 56, 0.92) 36px,
						rgba(39, 109, 56, 0.92) 72px
				);
		background-size: 100% 100%, 100% 100%, 100% 100%;
		box-shadow:
				inset 0 0 0 1px rgba(255,255,255,0.04),
				0 14px 28px rgba(0,0,0,0.18);
}

#espn-event-page .espn-match-panel::before {
		content: "";
		position: absolute;
		inset: 10px;
		border: 2px solid rgba(255,255,255,0.14);
		border-radius: 18px;
		pointer-events: none;
}

#espn-event-page .espn-match-panel::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 14px;
		bottom: 14px;
		width: 2px;
		transform: translateX(-50%);
		background: rgba(255,255,255,0.18);
		pointer-events: none;
}

#espn-event-page .espn-team {
		position: relative;
		z-index: 2;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 10px;
		flex: 1;
		text-align: center;
}

#espn-event-page .espn-team-icon {
		width: 64px;
		height: 64px;
		display: grid;
		place-items: center;
		border-radius: 50%;
		background: rgba(7, 17, 31, 0.34);
		border: 1px solid rgba(255,255,255,0.18);
		backdrop-filter: blur(6px);
		font-size: 28px;
		color: #ffffff;
		box-shadow:
				inset 0 1px 0 rgba(255,255,255,0.12),
				0 8px 18px rgba(0,0,0,0.16);
}

#espn-event-page .espn-team-name {
		display: block;
		color: #ffffff;
		font-size: 15px;
		font-weight: 800;
		line-height: 1.3;
		text-shadow: 0 2px 10px rgba(0,0,0,0.25);
}

#espn-event-page .espn-vs-block {
		position: relative;
		z-index: 2;
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 72px;
}

#espn-event-page .espn-vs {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 58px;
		height: 58px;
		padding: 0 14px;
		border-radius: 999px;
		font-size: 22px;
		font-weight: 900;
		line-height: 1;
		color: #101827;
		background: linear-gradient(135deg, #f6fb9b, #e9f26b);
		box-shadow:
				0 0 0 6px rgba(233,242,107,0.10),
				0 10px 22px rgba(0,0,0,0.20);
}

#espn-event-page .espn-event-date-box {
		position: relative;
		overflow: hidden;
		display: flex;
		align-items: center;
		gap: 18px;
		padding: 20px;
		border-radius: 22px;
		background: linear-gradient(135deg, rgba(47,46,131,0.20), rgba(47,143,70,0.18));
		border: 1px solid rgba(255,255,255,0.08);
		margin-bottom: 14px;
}

#espn-event-page .espn-event-date-box::before {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(135deg, rgba(255,255,255,0.05), transparent 45%);
		pointer-events: none;
}

#espn-event-page .espn-date-big {
		position: relative;
		z-index: 2;
		font-size: 56px;
		font-weight: 900;
		line-height: 1;
		color: #ffffff;
		min-width: 72px;
}

#espn-event-page .espn-date-meta {
		position: relative;
		z-index: 2;
}

#espn-event-page .espn-date-meta span {
		display: block;
		color: var(--espn-yellow);
		font-size: 13px;
		letter-spacing: 0.08em;
		font-weight: 700;
		margin-bottom: 4px;
}

#espn-event-page .espn-date-meta strong {
		display: block;
		color: #ffffff;
		font-size: 24px;
		margin-bottom: 6px;
}

#espn-event-page .espn-date-meta small {
		color: var(--espn-muted);
		font-size: 14px;
}

#espn-event-page .espn-calendar-wrap {
		margin-bottom: 22px;
}

#espn-event-page .espn-calendar-head {
		margin-bottom: 10px;
}

#espn-event-page .espn-calendar-head span {
		display: inline-block;
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--espn-yellow);
}

#espn-event-page .espn-calendar-links {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
}

#espn-event-page .espn-calendar-icon {
		width: 46px;
		height: 46px;
		border-radius: 14px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: rgba(255,255,255,0.06);
		border: 1px solid rgba(255,255,255,0.10);
		transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

#espn-event-page .espn-calendar-icon:hover {
		transform: translateY(-1px);
		background: rgba(255,255,255,0.10);
		border-color: rgba(255,255,255,0.18);
}

#espn-event-page .espn-calendar-icon svg {
		width: 24px;
		height: 24px;
		display: block;
}

#espn-event-page .espn-countdown-wrap {
		margin-bottom: 22px;
}

#espn-event-page .espn-countdown-head {
		margin-bottom: 12px;
}

#espn-event-page .espn-countdown-head span {
		display: inline-block;
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--espn-yellow);
}

#espn-event-page .espn-countdown-grid {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 12px;
}

#espn-event-page .espn-countdown-item {
		padding: 16px 12px;
		border-radius: 18px;
		background: rgba(255,255,255,0.05);
		border: 1px solid rgba(255,255,255,0.08);
		text-align: center;
}

#espn-event-page .espn-countdown-item strong {
		display: block;
		font-size: 28px;
		line-height: 1;
		color: #ffffff;
		margin-bottom: 8px;
}

#espn-event-page .espn-countdown-item span {
		display: block;
		font-size: 12px;
		color: var(--espn-muted);
		text-transform: uppercase;
		letter-spacing: 0.06em;
}

#espn-event-page .espn-event-feature-list {
		display: grid;
		gap: 14px;
		margin-bottom: 20px;
}

#espn-event-page .espn-event-feature {
		display: flex;
		gap: 14px;
		align-items: flex-start;
		padding: 14px 0;
		border-bottom: 1px solid rgba(255,255,255,0.08);
}

#espn-event-page .espn-event-feature:last-child {
		border-bottom: 0;
}

#espn-event-page .espn-event-feature > span {
		width: 42px;
		height: 42px;
		min-width: 42px;
		display: grid;
		place-items: center;
		border-radius: 14px;
		background: rgba(255,255,255,0.06);
}

#espn-event-page .espn-event-feature strong {
		display: block;
		color: #ffffff;
		margin-bottom: 6px;
}

#espn-event-page .espn-poster-footer {
		display: flex;
		gap: 10px;
		flex-wrap: wrap;
}

#espn-event-page .espn-poster-footer span {
		padding: 9px 14px;
		border-radius: 999px;
		background: rgba(255,255,255,0.05);
		color: #d6e2f5;
		font-size: 13px;
		border: 1px solid rgba(255,255,255,0.08);
}

#espn-event-page .espn-section {
		position: relative;
		padding: 44px 0 70px;
}

#espn-event-page .espn-dark-section {
		background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0));
}

#espn-event-page .espn-section-head {
		max-width: 820px;
		margin-bottom: 28px;
}

#espn-event-page .espn-section-head h2,
#espn-event-page .espn-form-copy h2 {
		font-size: clamp(28px, 4vw, 46px);
		line-height: 1.08;
		margin-bottom: 14px;
}

#espn-event-page .espn-feature-grid {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 16px;
		margin-top: 36px;
}

#espn-event-page .espn-feature-card {
		padding: 24px;
}

#espn-event-page .espn-icon {
		width: 56px;
		height: 56px;
		display: grid;
		place-items: center;
		border-radius: 18px;
		background: linear-gradient(135deg, rgba(47,46,131,0.18), rgba(47,143,70,0.18));
		font-size: 24px;
		margin-bottom: 18px;
}

#espn-event-page .espn-feature-card h3 {
		font-size: 20px;
		margin-bottom: 10px;
}

#espn-event-page .espn-info-panel,
#espn-event-page .espn-timeline-card,
#espn-event-page .espn-form-wrap {
		padding: 28px;
}

#espn-event-page .espn-info-panel ul {
		padding-left: 18px;
		margin-top: 16px;
		color: var(--espn-text);
}

#espn-event-page .espn-info-panel li {
		margin-bottom: 12px;
		line-height: 1.6;
}

#espn-event-page .espn-timeline-item {
		display: flex;
		gap: 14px;
		align-items: flex-start;
		padding: 14px 0;
		border-bottom: 1px solid rgba(255,255,255,0.08);
}

#espn-event-page .espn-timeline-item:last-child {
		border-bottom: 0;
		padding-bottom: 0;
}

#espn-event-page .espn-timeline-item span {
		width: 42px;
		height: 42px;
		flex: 0 0 42px;
		display: grid;
		place-items: center;
		border-radius: 14px;
		background: rgba(255,255,255,0.06);
}

#espn-event-page .espn-form-section {
		padding-bottom: 90px;
}

#espn-event-page .espn-form {
		display: grid;
		gap: 16px;
}

#espn-event-page .espn-field label {
		display: block;
		font-size: 14px;
		font-weight: 700;
		color: #ffffff;
		margin-bottom: 8px;
}

#espn-event-page .espn-field input {
		width: 100%;
		min-height: 54px;
		padding: 14px 16px;
		border-radius: 16px;
		border: 1px solid rgba(255,255,255,0.1);
		background: rgba(255,255,255,0.05);
		color: #ffffff;
		outline: none;
		transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

#espn-event-page .espn-field input:focus {
		border-color: rgba(233, 242, 107, 0.4);
		background: rgba(255,255,255,0.08);
}

#espn-event-page .espn-field input::placeholder {
		color: #91a6c0;
}

#espn-event-page .espn-form-message {
		display: none;
		padding: 14px 16px;
		border-radius: 16px;
		font-size: 14px;
		font-weight: 700;
}

#espn-event-page .espn-form-message.success {
		display: block;
		background: rgba(62, 163, 77, 0.14);
		color: #bff0c6;
		border: 1px solid rgba(62, 163, 77, 0.28);
}

#espn-event-page .espn-form-message.error {
		display: block;
		background: rgba(255, 77, 109, 0.12);
		color: #ffccd6;
		border: 1px solid rgba(255, 77, 109, 0.24);
}

#espn-event-page .espn-bg-glow,
#espn-event-page .espn-floating-ball {
		position: absolute;
		pointer-events: none;
}

#espn-event-page .espn-bg-glow {
		width: 320px;
		height: 320px;
		border-radius: 50%;
		filter: blur(70px);
		opacity: 0.28;
		animation: espnPulse 8s ease-in-out infinite;
}

#espn-event-page .espn-glow-1 {
		background: #2f2e83;
		top: -80px;
		left: -60px;
}

#espn-event-page .espn-glow-2 {
		background: #2f8f46;
		right: -60px;
		top: 180px;
		animation-delay: 2s;
}

#espn-event-page .espn-floating-ball {
		width: 72px;
		height: 72px;
		border-radius: 50%;
		background: radial-gradient(circle at 35% 35%, #ffffff 0%, #f0f5ff 48%, #d9e3f5 100%);
		box-shadow: inset -10px -10px 20px rgba(0,0,0,0.08), 0 20px 30px rgba(0,0,0,0.14);
		opacity: 0.16;
		animation: espnFloat 6s ease-in-out infinite;
}

#espn-event-page .espn-floating-ball::before {
		content: "";
		position: absolute;
		inset: 0;
		background-repeat: no-repeat;
		opacity: 0.5;
		background-image:
				radial-gradient(circle at 50% 22%, #1f2b3d 0 10px, transparent 11px),
				radial-gradient(circle at 25% 55%, #1f2b3d 0 8px, transparent 9px),
				radial-gradient(circle at 75% 55%, #1f2b3d 0 8px, transparent 9px),
				radial-gradient(circle at 50% 78%, #1f2b3d 0 9px, transparent 10px);
}

#espn-event-page .ball-1 {
		top: 140px;
		right: 12%;
}

#espn-event-page .ball-2 {
		bottom: 140px;
		left: 8%;
		width: 56px;
		height: 56px;
		animation-delay: 1.5s;
}

#espn-event-page [data-animate] {
		opacity: 0;
		transform: translateY(24px);
		transition: opacity 0.8s ease, transform 0.8s ease;
}

#espn-event-page [data-animate="fade-left"] {
		transform: translateX(28px);
}

#espn-event-page [data-animate="fade-right"] {
		transform: translateX(-28px);
}

#espn-event-page [data-animate="zoom-in"] {
		transform: scale(0.92);
}

#espn-event-page [data-animate].is-visible {
		opacity: 1;
		transform: none;
}

@keyframes espnFloat {
		0%, 100% { transform: translateY(0px) rotate(0deg); }
		50% { transform: translateY(-14px) rotate(6deg); }
}

@keyframes espnPulse {
		0%, 100% { transform: scale(1); opacity: 0.22; }
		50% { transform: scale(1.08); opacity: 0.32; }
}

@media (max-width: 1024px) {
		#espn-event-page .espn-grid,
		#espn-event-page .espn-form-grid,
		#espn-event-page .espn-event-grid,
		#espn-event-page .espn-feature-grid,
		#espn-event-page .espn-hero-highlights {
				grid-template-columns: 1fr 1fr;
		}
}

@media (max-width: 767px) {
		#espn-event-page .espn-hero {
				padding-top: 56px;
		}

		#espn-event-page .espn-grid,
		#espn-event-page .espn-form-grid,
		#espn-event-page .espn-event-grid,
		#espn-event-page .espn-feature-grid,
		#espn-event-page .espn-hero-highlights {
				grid-template-columns: 1fr;
		}

		#espn-event-page .espn-brand-logo-wrap {
				padding: 10px 12px;
				width: 100%;
				justify-content: center;
		}

		#espn-event-page .espn-brand-logo {
				width: 100%;
				height: auto;
				max-width: 200px;
		}

		#espn-event-page .espn-match-panel {
				padding: 16px 12px;
				gap: 10px;
		}

		#espn-event-page .espn-match-panel::before {
				inset: 8px;
				border-radius: 16px;
		}

		#espn-event-page .espn-match-panel::after {
				top: 12px;
				bottom: 12px;
		}

		#espn-event-page .espn-team-icon {
				width: 52px;
				height: 52px;
				font-size: 24px;
		}

		#espn-event-page .espn-team-name {
				font-size: 13px;
		}

		#espn-event-page .espn-vs-block {
				min-width: 54px;
		}

		#espn-event-page .espn-vs {
				min-width: 46px;
				height: 46px;
				font-size: 18px;
		}

		#espn-event-page .espn-calendar-links {
				justify-content: flex-start;
		}

		#espn-event-page .espn-calendar-icon {
				width: 42px;
				height: 42px;
		}

		#espn-event-page .espn-calendar-icon svg {
				width: 22px;
				height: 22px;
		}

		#espn-event-page .espn-countdown-grid {
				grid-template-columns: repeat(2, minmax(0, 1fr));
		}

		#espn-event-page h1 {
				max-width: none;
		}

		#espn-event-page .espn-container {
				width: min(100% - 20px, 1180px);
		}

		#espn-event-page .espn-date-big {
				font-size: 42px;
		}
}