:root {
	--navy: #0B1F3A; --navy-light: #122B4D; --navy-dark: #071428;
	--teal: #0D6E6E; --teal-light: #0F8585; --teal-dark: #0A5757;
	--amber: #F5A623; --amber-light: #FFB94D; --amber-dark: #D4890A;
	--gold: #C9A94E;
	--bg: #F7F8FA; --bg-warm: #FFF9F0;
	--text: #1A2332; --text-light: #5A6677; --text-muted: #8E99A8;
	--white: #FFFFFF; --border: #E2E7EF;
	--radius: 12px; --radius-lg: 20px; --radius-xl: 32px;
	--shadow: 0 4px 24px rgba(11,31,58,0.08);
	--shadow-lg: 0 12px 48px rgba(11,31,58,0.12);
	--shadow-xl: 0 24px 64px rgba(11,31,58,0.16);
}

/* ===== GATEWAY SECTION ===== */
.gateway {
	background: var(--navy-dark);
	padding: 0;
	position: relative;
	min-height: 100vh;
	display: flex; flex-direction: column; justify-content: center;
	transition: min-height 0.6s cubic-bezier(0.4,0,0.2,1);
}
.gateway.collapsed { min-height: auto }
.gateway::before {
	content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
	background: linear-gradient(90deg,transparent 0%,var(--amber) 20%,var(--amber-light) 50%,var(--amber) 80%,transparent 100%);
}
.gateway-wrap {
	max-width: 1100px; margin: 0 auto; padding: 0 24px;
}
.gateway-brand {
	text-align: center; margin-bottom: 28px;
}
.gateway-brand img {
	height: 72px; margin: 0 auto; display: block;
	filter: drop-shadow(0 4px 16px rgba(245,166,35,0.2));
}
.gateway-header {
	display: flex; align-items: center; gap: 16px;
	margin-bottom: 20px; padding-bottom: 12px;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.gateway-header-line { flex: 1; height: 1px; background: linear-gradient(90deg,transparent,rgba(255,255,255,0.08)) }
.gateway-header-line.right { background: linear-gradient(90deg,rgba(255,255,255,0.08),transparent) }
.gateway-label {
	font-size: 14px; font-weight: 700; color: rgba(255,255,255,0.45);
	letter-spacing: 1px; white-space: nowrap;
}
.gateway-cards {
	display: grid; grid-template-columns: repeat(3,1fr); gap: 0;
	border: 1px solid rgba(255,255,255,0.1); border-radius: var(--radius-lg); overflow: hidden;
}
.gateway-card+.gateway-card { border-left: 1px solid rgba(255,255,255,0.07) }
.gateway-card {
	display: flex; align-items: center; gap: 20px;
	padding: 32px 28px; text-decoration: none;
	transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
	position: relative; overflow: hidden; cursor: pointer;
	background: rgba(255,255,255,0.02);
}
.gateway-card::after {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(135deg,rgba(255,255,255,0.04) 0%,transparent 60%);
	opacity: 0; transition: opacity 0.3s; pointer-events: none;
}
.gateway-card:hover::after { opacity: 1 }
.gateway-card:hover { background: rgba(255,255,255,0.04) }
.gateway-card:hover .gateway-icon { transform: scale(1.08) }
.gateway-card:hover .gateway-tag { color: var(--amber) }
.gateway-card:hover .gateway-name { color: #fff }
.gateway-card:hover .gateway-arrow {
	color: rgba(255,255,255,0.6); transform: translateX(4px);
}
.gateway-icon {
	flex-shrink: 0; width: 56px; height: 56px; border-radius: 14px;
	background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08);
	display: flex; align-items: center; justify-content: center;
	font-size: 28px; transition: transform 0.3s;
}
.gateway-text { flex: 1; min-width: 0 }
.gateway-tag {
	font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
	color: rgba(255,255,255,0.35); margin-bottom: 4px; display: block;
}
.gateway-name {
	font-size: 20px; font-weight: 700; color: rgba(255,255,255,0.95);
	margin-bottom: 4px; white-space: nowrap;
}
.gateway-desc { font-size: 14px; color: rgba(255,255,255,0.45); line-height: 1.6 }
.gateway-status { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 4px }
.gateway-arrow {
	font-size: 22px; color: rgba(255,255,255,0.25);
	transition: color 0.25s,transform 0.25s;
}
.gateway-divider {
	margin: 16px 24px 0; height: 1px;
	background: linear-gradient(90deg,transparent,rgba(255,255,255,0.07) 20%,rgba(255,255,255,0.07) 80%,transparent);
}

/* Main content visibility */
#main-content {
	max-height: 0; overflow: hidden; opacity: 0;
	transition: opacity 0.6s cubic-bezier(0.4,0,0.2,1);
}
#main-content.revealed { max-height: none; overflow: visible; opacity: 1 }

/* Select pulse */
@keyframes select-pulse {
	0% { box-shadow: 0 0 0 0 rgba(245,166,35,0.4) }
	70% { box-shadow: 0 0 0 12px rgba(245,166,35,0) }
	100% { box-shadow: 0 0 0 0 rgba(245,166,35,0) }
}
.gateway-card.just-selected { animation: select-pulse 0.6s ease-out }

@media(max-width: 768px) {
	.gateway-cards { grid-template-columns: 1fr }
	.gateway-card+.gateway-card { border-left: none; border-top: 1px solid rgba(255,255,255,0.07) }
	.gateway-card { padding: 24px 20px }
	.gateway-wrap { padding: 16px 16px 0 }
	.gateway-divider { margin: 12px 16px 0 }
	.gateway-brand { margin-bottom: 20px }
	.gateway-brand img { height: 56px }
	.gateway-name { font-size: 18px }
	.gateway-desc { font-size: 13px }
	.gateway-label { font-size: 12px }
}