.page-index {
	overflow-x: clip;
	overflow-y: visible;
}

.home-main {
	border-top: 1px solid rgba(255, 255, 255, 0.04);
}

.home-hero {
	padding: 88px 0 96px;
	background: linear-gradient(150deg, #111827 0%, #0d0d12 58%, #11151e 100%);
}

.home-hero-grid,
.home-section-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: 64px;
}

.home-hero-copy {
	animation: homeReveal 0.7s ease-out both;
}

.home-headline {
	margin: 18px 0 0;
	color: #67e8f9;
	font-size: 25px;
	font-weight: 650;
	letter-spacing: 0;
	line-height: 1.35;
}

.home-lead {
	max-width: 570px;
	margin: 22px 0 0;
	color: #a7b0c0;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.75;
}

.home-lead span {
	display: block;
}

.home-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.home-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 46px;
	padding: 0 22px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 6px;
	color: #e2e8f0;
	font-size: 14px;
	font-weight: 650;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.home-button:hover,
.home-button:focus {
	color: #fff;
	text-decoration: none;
	transform: translateY(-2px);
}

.home-button-primary {
	border-color: #22d3ee;
	background: #22d3ee;
	color: #06222a;
}

.home-button-primary:hover,
.home-button-primary:focus {
	border-color: #67e8f9;
	background: #67e8f9;
	color: #06222a;
}

.home-button-secondary:hover,
.home-button-secondary:focus {
	border-color: rgba(255, 255, 255, 0.32);
	background: rgba(255, 255, 255, 0.06);
}

.home-hero-art {
	animation: homeReveal 0.8s ease-out 0.12s both;
}

.home-hero-art img,
.home-media img {
	display: block;
	width: 100%;
	height: auto;
}

.home-hero-art img {
	filter: drop-shadow(0 22px 42px rgba(0, 0, 0, 0.36));
}

.home-band {
	padding: 104px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.055);
}

.home-band-soft {
	background: #101116;
}

.home-section-grid.is-reversed {
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
}

.home-copy h2,
.home-network-header h2 {
	margin: 0 0 20px;
	color: #f8fafc;
	font-size: 36px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.25;
}

.home-copy p {
	margin: 0 0 12px;
	color: #98a2b3;
	font-size: 16px;
	line-height: 1.75;
}

.home-media {
	min-width: 0;
}

.home-media img {
	max-height: 480px;
	object-fit: contain;
	filter: drop-shadow(0 18px 35px rgba(0, 0, 0, 0.3));
}

.home-logo-groups {
	display: grid;
	gap: 14px;
	margin-top: 30px;
}

.home-logo-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.home-logo-row img {
	width: 38px;
	height: 38px;
	padding: 7px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
	object-fit: contain;
	filter: grayscale(1) brightness(1.25);
	transition: border-color 0.2s ease, filter 0.2s ease, transform 0.2s ease;
}

.home-logo-row img:hover {
	border-color: rgba(103, 232, 249, 0.45);
	filter: grayscale(0) brightness(1.08);
	transform: translateY(-2px);
}

.home-note {
	margin-top: 24px !important;
	color: #687386 !important;
	font-size: 12px !important;
	line-height: 1.65 !important;
}

.home-point-list {
	display: grid;
	gap: 14px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.home-point-list li {
	position: relative;
	margin: 0;
	padding-left: 22px;
	color: #a7b0c0;
	font-size: 15px;
	line-height: 1.65;
}

.home-point-list li::before {
	position: absolute;
	top: 0.65em;
	left: 0;
	width: 8px;
	height: 8px;
	border: 2px solid #22d3ee;
	border-radius: 50%;
	content: '';
}

.home-matrix {
	--home-matrix-tile-width: 2198px;
	--home-matrix-shift: -2198px;
	position: relative;
	width: 100%;
	height: 300px;
	overflow: hidden;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	background: #0a0b0f;
}

.home-matrix-track {
	position: absolute;
	inset: -25% 0;
	background: url('../img/App-Matrix.webp') repeat-x 0 center / var(--home-matrix-tile-width) 100%;
	opacity: 0.72;
	animation: homeMatrix 48s linear infinite;
	will-change: background-position;
}

.home-policy-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 56px;
	margin-top: 56px;
}

.home-policy-column {
	min-width: 0;
	padding-top: 26px;
	border-top: 1px solid rgba(255, 255, 255, 0.11);
}

.home-policy-logos {
	display: flex;
	align-items: center;
	gap: 18px;
	min-height: 58px;
	margin-bottom: 24px;
}

.home-policy-logos img {
	width: auto;
	max-width: 150px;
	height: 42px;
	object-fit: contain;
}

.home-policy-list {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-policy-list li {
	margin: 0;
	color: #9aa4b4;
	font-size: 14px;
	line-height: 1.55;
}

.home-policy-footnote {
	grid-column: 1 / -1;
	margin: 0;
	color: #687386;
	font-size: 12px;
	text-align: center;
}

.home-network-header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 42px;
}

.home-network-header h2 {
	max-width: 660px;
	margin-bottom: 0;
}

.home-capability-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.home-capability {
	min-width: 0;
	padding: 32px 30px 34px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.home-capability:nth-child(even) {
	padding-right: 0;
	padding-left: 30px;
	border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.home-capability h3 {
	margin: 0 0 12px;
	color: #f1f5f9;
	font-size: 20px;
	font-weight: 650;
	letter-spacing: 0;
	line-height: 1.35;
}

.home-capability p {
	margin: 0 0 10px;
	color: #8f9aaa;
	font-size: 14px;
	line-height: 1.7;
}

.home-capability p:last-child {
	margin-bottom: 0;
}

.home-footer {
	padding-top: 26px;
}

@keyframes homeReveal {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes homeMatrix {
	from {
		background-position: 0 center;
	}
	to {
		background-position: var(--home-matrix-shift) center;
	}
}

@media (max-width: 991px) {
	.home-hero-grid,
	.home-section-grid,
	.home-section-grid.is-reversed {
		grid-template-columns: 1fr;
		gap: 46px;
	}

	.home-hero-copy {
		order: 1;
	}

	.home-hero-art {
		order: 2;
	}

	.home-band {
		padding: 82px 0;
	}

	.home-media {
		max-width: 680px;
		margin: 0 auto;
	}
}

@media (max-width: 767px) {
	.home-hero {
		padding: 62px 0 68px;
	}

	.home-headline {
		font-size: 21px;
	}

	.home-lead {
		font-size: 15px;
	}

	.home-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.home-button {
		width: 100%;
	}

	.home-band {
		padding: 68px 0;
	}

	.home-copy h2,
	.home-network-header h2 {
		font-size: 29px;
	}

	.home-policy-grid,
	.home-capability-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.home-policy-column + .home-policy-column {
		margin-top: 36px;
	}

	.home-policy-footnote {
		margin-top: 28px;
	}

	.home-capability,
	.home-capability:nth-child(even) {
		padding: 26px 0;
		border-left: 0;
	}

	.home-network-header {
		align-items: stretch;
		flex-direction: column;
	}

	.home-matrix {
		--home-matrix-tile-width: 1392px;
		--home-matrix-shift: -1392px;
		height: 190px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-hero-copy,
	.home-hero-art,
	.home-matrix-track {
		animation: none;
	}

	.home-button,
	.home-logo-row img {
		transition: none;
	}
}