.ut-events-page {
	--navy: #041934;
	--orange: #FE6402;
	--green: #25962E;
	--blue: #016FD1;
	--blue-soft: #4ca3d3;
	--line: #D3D6DB;
	--dark: #2D2D2D;
	--muted: #57606A;
	--bg: #FAF9F8;
	--border: #EAEAEA;
	max-width: 1100px;
	margin: 0 auto;
	padding: 56px 24px 100px;
	color: var(--dark);
	font-family: 'Montserrat', sans-serif;
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
}

.ut-events-page *,
.ut-events-page *::before,
.ut-events-page *::after { box-sizing: border-box; }

.ut-events-page img { max-width: 100%; display: block; }

.ut-events-header {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 56px;
}

.ut-events-header .ut-eyebrow {
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--blue-soft);
	margin-bottom: 14px;
}

.ut-events-header h1 {
	font-size: clamp(40px, 6vw, 56px);
	font-weight: 800;
	letter-spacing: -1.2px;
	line-height: 1.1;
	margin: 0 0 20px;
	color: var(--dark);
}

.ut-events-header p {
	font-family: 'Lora', serif;
	font-style: italic;
	font-size: clamp(18px, 2.1vw, 21px);
	line-height: 1.7;
	color: #3D444B;
	margin: 0;
}

.ut-section-label {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-bottom: 28px;
}

.ut-section-label h2 {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: var(--orange);
	margin: 0;
}

.ut-section-label::before,
.ut-section-label::after {
	content: '';
	height: 1px;
	width: 56px;
	background: #E8C9B0;
}

.ut-upcoming-list {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.ut-flyer {
	width: 100%;
	background: #fff;
	border: 1px solid #F0EEEA;
	border-radius: 8px;
	padding: 44px 52px 38px;
	box-shadow: 0 16px 40px rgba(4, 25, 52, 0.05);
}

.ut-logos {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 28px;
	margin-bottom: 38px;
}

.ut-lockup {
	display: flex;
	align-items: center;
	gap: 16px;
	justify-self: start;
}

.ut-lockup img {
	width: 150px;
	height: 150px;
	object-fit: contain;
	flex-shrink: 0;
}

.ut-lockup-text {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}

.ut-brand {
	font-size: 40px;
	font-weight: 800;
	letter-spacing: 0.4px;
	line-height: 1;
	white-space: nowrap;
}

.ut-brand .united { color: var(--navy); }
.ut-brand .tribe { color: var(--orange); }

.ut-tagline {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 2.3px;
	color: var(--navy);
	text-transform: uppercase;
}

.ut-badge {
	display: inline-block;
	margin-top: 3px;
	border: 1.5px solid var(--blue-soft);
	border-radius: 999px;
	padding: 4px 11px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.85px;
	color: var(--navy);
	text-transform: uppercase;
	white-space: nowrap;
}

.ut-badge i {
	color: var(--orange);
	font-style: normal;
	font-size: 7px;
	vertical-align: 1px;
}

.ut-logos-divider {
	width: 1px;
	height: 82px;
	background: #5F6670;
}

.ut-partner {
	justify-self: start;
	width: 100%;
	max-width: 370px;
}

.ut-partner img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.ut-ruled {
	display: flex;
	align-items: center;
	gap: 18px;
	color: var(--navy);
}

.ut-ruled::before,
.ut-ruled::after {
	content: '';
	flex: 1;
	height: 2px;
	background: var(--orange);
}

.ut-present {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 3.2px;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.ut-flyer-title {
	margin: 0 0 12px;
	text-align: center;
	font-size: clamp(38px, 6.6vw, 70px);
	font-weight: 800;
	letter-spacing: -1px;
	line-height: 0.94;
	text-transform: uppercase;
	color: var(--navy);
}

.ut-flyer-title .city { color: var(--navy); }
.ut-flyer-title .accent { color: var(--orange); }

.ut-subtitle {
	font-size: clamp(16px, 2.2vw, 24px);
	font-weight: 700;
	letter-spacing: 0.42em;
	text-transform: uppercase;
	margin: 0 0 36px;
	padding-left: 0.42em;
}

.ut-flyer-meta {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr;
	align-items: center;
	gap: 0 10px;
	margin: 0 0 34px;
}

.ut-meta-rule {
	width: 1px;
	height: 58px;
	background: var(--line);
}

.ut-fact {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
}

.ut-icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	flex-shrink: 0;
}

.ut-icon.date { background: var(--orange); color: #fff; }
.ut-icon.time { background: transparent; color: var(--navy); border: 2.5px solid var(--blue); }
.ut-icon.place { background: transparent; color: var(--navy); border: 2.5px solid var(--green); }

.ut-fact strong {
	display: block;
	font-size: 16px;
	font-weight: 800;
	color: #111;
	letter-spacing: 0.2px;
	text-transform: uppercase;
	line-height: 1.2;
}

.ut-fact em {
	display: block;
	font-style: normal;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.7px;
	text-transform: uppercase;
	margin-top: 3px;
}

.ut-fact.date em { color: var(--orange); }
.ut-fact.place em {
	color: var(--green);
	font-size: 10px;
	letter-spacing: 0.35px;
}

.ut-cta {
	display: flex;
	width: 100%;
	min-height: 74px;
	border-radius: 18px;
	overflow: hidden;
	text-decoration: none !important;
}

.ut-cta span {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}

.ut-cta-left {
	flex: 1.25;
	gap: 14px;
	background: var(--navy);
	font-size: clamp(15px, 2vw, 22px);
	font-weight: 800;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.ut-cta-left i {
	font-size: 22px;
	transform: rotate(-18deg);
}

.ut-cta-right {
	flex: 0.85;
	gap: 10px;
	background: var(--orange);
	border-left: 2px solid #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
}

.ut-cta-right em {
	font-family: 'Nunito', 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: 800;
	font-size: clamp(22px, 2.6vw, 30px);
	letter-spacing: -0.6px;
	text-transform: lowercase;
	line-height: 1;
}

.ut-past-section {
	margin-top: 88px;
	padding-top: 56px;
	border-top: 2px dashed var(--border);
}

.ut-past-intro {
	text-align: center;
	margin: 0 auto 36px;
}

.ut-past-intro h2 {
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 700;
	letter-spacing: -0.8px;
	margin: 0;
	color: var(--dark);
}

.ut-past-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 28px;
}

.ut-event-card {
	background: #fff;
	border: 1px solid #F0F2F5;
	border-radius: 28px;
	padding: 16px;
	color: inherit;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
	display: flex;
	flex-direction: column;
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.ut-event-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 40px rgba(45, 45, 45, 0.08);
}

.ut-event-card-media {
	background: var(--bg);
	border-radius: 20px;
	padding: 22px 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin-bottom: 20px;
	min-height: 140px;
}

.ut-event-card-media img { object-fit: contain; }
.ut-event-card-media .card-ut { width: 72px; height: 72px; }
.ut-event-card-media .card-partner { height: 52px; width: auto; max-width: 170px; }
.ut-event-card-media .card-split {
	width: 1px;
	height: 48px;
	background: #C9CDD2;
	flex-shrink: 0;
}

.ut-event-card-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 4px 10px 8px;
}

.ut-event-card-date {
	font-size: 13px;
	font-weight: 700;
	color: var(--orange);
	text-transform: uppercase;
	letter-spacing: 1.4px;
	margin-bottom: 10px;
}

.ut-event-card h3 {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.4px;
	line-height: 1.3;
	margin: 0 0 14px;
	color: var(--dark);
}

.ut-event-card-meta {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 20px;
	font-size: 14px;
	font-weight: 600;
	color: var(--muted);
}

.ut-event-card-meta span {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ut-event-card-meta i {
	width: 16px;
	color: var(--blue-soft);
}

.ut-event-card-footer {
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid #F0F2F5;
}

.ut-event-card-status {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--blue-soft);
}

@media (max-width: 800px) {
	.ut-events-page { padding: 36px 16px 80px; }
	.ut-flyer { padding: 26px 16px 22px; }
	.ut-logos {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 18px;
	}
	.ut-lockup { justify-self: center; }
	.ut-partner { justify-self: center; max-width: 300px; }
	.ut-logos-divider { width: 72px; height: 1px; }
	.ut-flyer-meta {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.ut-meta-rule { display: none; }
	.ut-fact { justify-content: flex-start; }
	.ut-subtitle { letter-spacing: 0.2em; padding-left: 0.2em; }
	.ut-cta { flex-direction: column; min-height: 0; }
	.ut-cta-left,
	.ut-cta-right { min-height: 58px; }
	.ut-cta-right { border-left: 0; border-top: 2px solid #fff; }
	.ut-brand { font-size: 28px; }
	.ut-tagline { font-size: 12px; }
	.ut-lockup img { width: 96px; height: 96px; }
	.ut-past-list { grid-template-columns: 1fr; }
}
