:root {
	--bg-a: #071321;
	--bg-b: #0c1d34;
	--ink: #e6f1ff;
	--muted: #9bb4d4;
	--card: rgba(14, 29, 52, 0.82);
	--card-border: rgba(83, 131, 224, 0.28);
	--teal: #208aed;
	--orange: #5b81de;
	--shadow: 0 22px 70px rgba(3, 9, 19, 0.55);
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	min-height: 100vh;
	font-family: "Sora", "Trebuchet MS", sans-serif;
	color: var(--ink);
	background: radial-gradient(circle at 15% -10%, #143966 0%, var(--bg-a) 35%),
		linear-gradient(160deg, var(--bg-a), var(--bg-b));
}

.page-bg {
	position: fixed;
	inset: 0;
	overflow: hidden;
	z-index: -1;
}

.shape {
	position: absolute;
	border-radius: 999px;
	filter: blur(56px);
	opacity: 0.58;
}

.shape-a {
	width: 420px;
	height: 420px;
	top: -120px;
	right: -80px;
	background: #1a56a7;
}

.shape-b {
	width: 420px;
	height: 420px;
	bottom: -140px;
	left: -100px;
	background: #214a84;
}

.shape-c {
	width: 260px;
	height: 260px;
	top: 42%;
	left: 46%;
	background: #2a5ea8;
}

.shell {
	max-width: 1160px;
	margin: 0 auto;
	padding: 28px 22px 34px;
}

.topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.logo {
	width: auto;
	height: 82px;
}

.chip {
	text-decoration: none;
	color: #fff;
	background: linear-gradient(120deg, #208aed, #5383e0);
	padding: 10px 15px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	box-shadow: 0 8px 30px rgba(32, 138, 237, 0.42);
}

.hero {
	margin-top: 18px;
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 24px;
	align-items: stretch;
}

.hero-copy {
	background: var(--card);
	border: 1px solid var(--card-border);
	backdrop-filter: blur(8px);
	border-radius: 30px;
	padding: 40px 34px;
	box-shadow: var(--shadow);
}

.eyebrow {
	margin: 0 0 14px;
	font-size: 12px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--teal);
	font-weight: 700;
}

h1 {
	margin: 0;
	font-family: "Bebas Neue", Impact, sans-serif;
	font-size: clamp(3rem, 8vw, 5.2rem);
	line-height: 0.95;
	letter-spacing: 0.02em;
}

h1 span {
	color: var(--orange);
}

.summary {
	margin: 14px 0 0;
	max-width: 44ch;
	color: var(--muted);
	line-height: 1.66;
	font-size: 15px;
}

.cta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.facts {
	margin-top: 22px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.fact {
	text-decoration: none;
	border-radius: 14px;
	border: 1px solid rgba(83, 131, 224, 0.24);
	background: rgba(11, 24, 43, 0.78);
	padding: 11px 12px;
	display: flex;
	flex-direction: column;
	gap: 3px;
	color: var(--ink);
	transition: transform 130ms ease, border-color 130ms ease;
}

.fact:hover {
	transform: translateY(-2px);
	border-color: rgba(32, 138, 237, 0.62);
}

.fact-k {
	font-size: 11px;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--teal);
	font-weight: 700;
}

.fact-v {
	font-size: 12px;
	color: var(--muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.btn {
	text-decoration: none;
	border-radius: 12px;
	padding: 13px 19px;
	font-size: 14px;
	font-weight: 700;
	transition: transform 140ms ease, box-shadow 160ms ease;
}

.btn:hover {
	transform: translateY(-2px);
}

.btn-solid {
	background: linear-gradient(130deg, #208aed, #5b81de);
	color: #fff;
	box-shadow: 0 10px 28px rgba(41, 115, 224, 0.35);
}

.btn-outline {
	color: var(--ink);
	border: 1px solid rgba(83, 131, 224, 0.35);
	background: rgba(12, 25, 45, 0.72);
}

.hero-art {
	display: flex;
}

.art-panel {
	width: 100%;
	background: linear-gradient(140deg, #208aed, #5b81de);
	border-radius: 30px;
	padding: 30px 28px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 12px;
	box-shadow: var(--shadow);
	color: #dbeffd;
}

.art-panel h2 {
	margin: 0;
	font-size: clamp(1.45rem, 3vw, 2rem);
	line-height: 1.1;
	font-family: "Bebas Neue", Impact, sans-serif;
	letter-spacing: 0.03em;
}

.art-panel p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	max-width: 34ch;
	color: rgba(226, 245, 255, 0.95);
}

.art-cta {
	margin-top: 8px;
	border-color: rgba(255, 255, 255, 0.5);
	color: #eef8ff;
	background: rgba(27, 20, 69, 0.2);
}

.latest {
	margin-top: 22px;
	background: var(--card);
	border: 1px solid var(--card-border);
	border-radius: 22px;
	padding: 18px;
	box-shadow: 0 10px 26px rgba(19, 52, 72, 0.08);
}

.section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}

.section-head h2 {
	margin: 0;
	font-family: "Bebas Neue", Impact, sans-serif;
	font-size: 2rem;
	letter-spacing: 0.04em;
}

.section-head a {
	text-decoration: none;
	color: var(--teal);
	font-size: 13px;
	font-weight: 700;
}

.video-grid {
	margin-top: 12px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.video-card {
	text-decoration: none;
	color: var(--ink);
	background: rgba(9, 22, 39, 0.84);
	border: 1px solid rgba(83, 131, 224, 0.2);
	border-radius: 14px;
	overflow: hidden;
	transition: transform 140ms ease, box-shadow 180ms ease;
}

.video-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 26px rgba(19, 52, 72, 0.14);
}

.video-card img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.video-meta {
	padding: 10px 11px 12px;
}

.video-title {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	font-weight: 700;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.video-date {
	margin: 6px 0 0;
	font-size: 11px;
	color: var(--muted);
}

.loading {
	margin: 0;
	font-size: 13px;
	color: var(--muted);
}

.empty {
	margin: 0;
	font-size: 13px;
	color: var(--muted);
}

.link-grid {
	margin-top: 24px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.link-card {
	text-decoration: none;
	background: var(--card);
	border: 1px solid var(--card-border);
	border-radius: 18px;
	padding: 18px;
	color: var(--ink);
	box-shadow: 0 9px 24px rgba(19, 52, 72, 0.08);
	transition: transform 130ms ease, box-shadow 180ms ease;
}

.link-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 34px rgba(19, 52, 72, 0.16);
}

.link-card h2 {
	margin: 0;
	font-size: 18px;
}

.link-card p {
	margin: 9px 0 0;
	font-size: 13px;
	line-height: 1.55;
	color: var(--muted);
}

.footer {
	margin-top: 22px;
	display: flex;
	justify-content: space-between;
	font-size: 13px;
	color: var(--muted);
}

.reveal {
	opacity: 0;
	transform: translateY(16px);
	animation: rise 560ms cubic-bezier(.24,.61,.31,1) forwards;
}

.reveal:nth-of-type(2) { animation-delay: 80ms; }
.reveal:nth-of-type(3) { animation-delay: 150ms; }
.reveal:nth-of-type(4) { animation-delay: 220ms; }
.reveal:nth-of-type(5) { animation-delay: 280ms; }
.reveal:nth-of-type(6) { animation-delay: 330ms; }
.reveal:nth-of-type(7) { animation-delay: 390ms; }
.reveal:nth-of-type(8) { animation-delay: 440ms; }

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

@media (max-width: 980px) {
	.hero {
		grid-template-columns: 1fr;
	}

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

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

	.facts {
		grid-template-columns: 1fr;
	}

	.logo {
		height: 72px;
	}
}

@media (max-width: 640px) {
	.shell {
		padding: 18px 14px 24px;
	}

	.hero-copy {
		padding: 28px 22px;
	}

	.link-grid {
		grid-template-columns: 1fr;
	}

	.video-grid {
		grid-template-columns: 1fr;
	}

	.footer {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
}
