@charset "UTF-8";

@keyframes pulse-dot {
	0%, 100% { opacity: 1; box-shadow: 0 0 12px #00f2ff; }
	50% { opacity: .6; box-shadow: 0 0 20px #00f2ff; }
}

/* ===== HERO SECTION ===== */
.center_hero {
	position: relative;
	z-index: 1;
	overflow: hidden;
	background: radial-gradient(ellipse 80% 50% at 20% 10%, rgba(0, 102, 255, .18) 0%, transparent 60%), radial-gradient(ellipse 60% 40% at 80% 80%, rgba(0, 242, 255, .1) 0%, transparent 55%), radial-gradient(ellipse 100% 60% at 50% 50%, rgba(7, 21, 48, 1) 0%, #020818 100%);
}
.center_hero-bg-grid {
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: .06;
	background-image:
			linear-gradient(rgba(0,242,255,.5) 1px, transparent 1px),
			linear-gradient(90deg, rgba(0,242,255,.5) 1px, transparent 1px);
	background-size: 60px 60px;
	mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
}
.center_hero-glow {
	position: absolute;
	width: 600px; height: 600px;
	border-radius: 50%;
	top: -100px; left: 50%;
	transform: translateX(-50%);
	background: radial-gradient(circle, rgba(0,102,255,.3) 0%, transparent 70%);
	filter: blur(60px);
	pointer-events: none;
	z-index: 0;
}
.center_hero-content {
	position: relative;
	z-index: 1;
	text-align: center;
	margin: 0 auto;
}
.center_hero-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #00f2ff;
	background: rgba(0,242,255,.08);
	border: 1px solid rgba(0,242,255,.25);
	padding: 8px 18px;
	border-radius: 999px;
	margin-bottom: 32px;
}
.center_hero-eyebrow::before {
	content: '';
	width: 6px; height: 6px;
	border-radius: 50%;
	background: #00f2ff;
	box-shadow: 0 0 8px #00f2ff;
}
.center_hero h1 {
	font-size: clamp(48px, 6vw, 80px);
	font-weight: 900;
	letter-spacing: -.04em;
	line-height: 1.05;
	margin-bottom: 24px;
}
.center_hero h1 .center_gradient-text {
	background: linear-gradient(135deg, #3b97ff 0%, #00f2ff 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.center_hero-desc {
	font-size: clamp(17px, 1.7vw, 21px);
	color: rgba(255,255,255,.7);
	max-width: 600px;
	margin: 0 auto 64px;
	line-height: 1.7;
}

/* ===== KPI STRIP ===== */
.center_kpi-strip {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
	margin: 0 auto;
	background: rgba(255,255,255,.12);
	border-radius: 32px;
	box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 24px 60px rgba(0,0,0,.4);
}
.center_kpi-item {
	background: rgba(7,21,48,.8);
	backdrop-filter: blur(20px);
	padding: 36px 28px;
	text-align: center;
	position: relative;
	overflow: hidden;
	cursor: default;
	transition: background .3s;
}
.center_kpi-item:hover { background: rgba(13,36,84,.85); }
.center_kpi-item::before {
	content: '';
	position: absolute;
	top: 0; left: 50%;
	transform: translateX(-50%);
	width: 80%;
	height: 1px;
	background: linear-gradient(90deg, transparent, #1a7fff, transparent);
	opacity: 0;
	transition: opacity .4s;
}
.center_kpi-item:hover::before { opacity: 1; }
.center_kpi-icon {
	width: 44px; height: 44px;
	border-radius: 12px;
	background: rgba(0,102,255,.15);
	border: 1px solid rgba(0,102,255,.3);
	display: grid;
	place-items: center;
	margin: 0 auto 16px;
}
.center_kpi-icon svg {
	width: 22px; height: 22px;
	stroke: #3b97ff;
	fill: none;
	stroke-width: 1.8;
}
.center_kpi-num {
	font-size: clamp(36px, 4vw, 52px);
	font-weight: 900;
	letter-spacing: -.04em;
	line-height: 1;
	margin-bottom: 8px;
	background: linear-gradient(135deg, #fff 0%, #3b97ff 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.center_kpi-num .center_suf {
	font-size: .55em;
	font-weight: 700;
}
.center_kpi-label {
	font-size: var(--fs-label-sub);
	font-weight: 600;
	color: #fff;
	letter-spacing: .06em;
}

/* ===== DIVIDER ===== */
.center_section-divider {
	position: relative;
	z-index: 1;
	height: 1px;
	margin: 80px 0;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.12) 20%, rgba(255,255,255,.12) 80%, transparent);
}

/* ===== NETWORK SECTION ===== */
.center_network-section {
	position: relative;
	z-index: 1;
}
.center_section-header {
	margin-bottom: 30px;
	display: flex;
	align-items: flex-end;
	justify-content: end;
	gap: 24px;
	flex-wrap: wrap;
}
.center_section-label {
	font-size:1.25rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #00f2ff;
	margin-bottom: 10px;
}
.center_section-title {
	font-size: clamp(31px, 3.3vw, 44px);
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1.15;
}

/* ===== FILTERS ===== */
.center_filters {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
}
.center_fbtn {
	border: 1px solid rgba(255,255,255,.12);
	background: rgba(255,255,255,.06);
	color: rgba(255,255,255,.7);
	padding: 9px 20px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: all .25s cubic-bezier(.2,.7,.2,1);
	backdrop-filter: blur(8px);
	letter-spacing: .01em;
}
.center_fbtn:hover {
	border-color: rgba(0,102,255,.5);
	color: #fff;
	background: rgba(0,102,255,.12);
}
.center_fbtn.on {
	background: linear-gradient(135deg, #0066FF, #2563eb);
	border-color: transparent;
	color: #fff;
	box-shadow: 0 4px 20px rgba(0,102,255,.4);
}

/* ===== SPLIT LAYOUT ===== */
.center_split {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	grid-template-rows: auto 1fr;
	grid-template-areas:
		"header header"
		"map panel";
	gap: 24px;
	align-items: stretch;
}
.center_split > .center_section-header { grid-area: header; margin-bottom: 0; }
.center_split > .center_mapbox { grid-area: map; }
.center_split > .center_panel { grid-area: panel; }

/* ===== MAP BOX ===== */
.center_mapbox {
	position: relative;
	border-radius: 32px;
	overflow: hidden;
	min-height: 640px;
	background: linear-gradient(160deg, #060d24 0%, #0a1428 50%, #040f26 100%);
	border: 1px solid rgba(255,255,255,.12);
	box-shadow:
			0 0 0 1px rgba(0,102,255,.1),
			0 40px 80px rgba(0,0,0,.6),
			inset 0 1px 0 rgba(255,255,255,.08);
}
/* Grid overlay */
.center_mapbox::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: .07;
	background-image:
			linear-gradient(rgba(0,242,255,.6) 1px, transparent 1px),
			linear-gradient(90deg, rgba(0,242,255,.6) 1px, transparent 1px);
	background-size: 40px 40px;
	mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 40%, transparent 100%);
}
/* Glow center */
.center_mapbox::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
			radial-gradient(ellipse 70% 60% at 40% 40%, rgba(0,102,255,.22) 0%, transparent 60%),
			radial-gradient(ellipse 50% 50% at 70% 70%, rgba(0,242,255,.08) 0%, transparent 50%);
	pointer-events: none;
}
.center_map-header {
	position: absolute;
	top: 28px; left: 32px;
	z-index: 4;
}
.center_map-eyebrow {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #00f2ff;
	margin-bottom: 6px;
}
.center_map-title {
	font-size: var(--fs-label-sub);
	font-weight: 700;
	color: #fff;
	letter-spacing: -.02em;
}
/* Map SVG */
#kmap {
	width: 100%;
	max-width: 550px;
	height: auto;
	display: block;
	position: relative;
	z-index: 2;
	margin: 60px auto 16px;
	filter: drop-shadow(0 12px 40px rgba(0,0,0,.6));
}
.center_rgn-path {
	fill: rgba(30,80,180,.55);
	stroke: rgba(100,200,255,.95);
	stroke-width: 1.8;
	stroke-linejoin: round;
	transition: fill .35s, stroke .35s;
	cursor: pointer;
}
.center_rgn-path:hover { fill: rgba(0,102,255,.72); stroke: #00f2ff; stroke-width: 2.2; }
.center_rgn-path.active { fill: rgba(0,60,200,.82); stroke: #00f2ff; stroke-width: 2.4; }

/* Bubbles */
.center_bubble { cursor: pointer; }
.center_b-glow {
	fill: #1a7fff;
	opacity: 0;
	transform-box: fill-box;
	transform-origin: center;
	transition: opacity .4s, transform .4s;
}
.center_bubble:hover .center_b-glow, .center_bubble.active .center_b-glow { opacity: .4; transform: scale(1.5); }
.center_bubble circle {
	transition: transform .4s cubic-bezier(.2,.7,.2,1);
	transform-box: fill-box;
	transform-origin: center;
}
.center_bubble:hover circle:nth-child(2), .center_bubble.active circle:nth-child(2) { transform: scale(1.08); }
.center_b-label {
	fill: rgba(255,255,255,0.85);
	font-size: 0.813rem;
	font-weight: 700;
	text-anchor: middle;
	dominant-baseline: central;
	pointer-events: none;
	letter-spacing: -0.01em;
}
.center_b-count {
	fill: #fff;
	font-size: 1.25rem;
	font-weight: 900;
	text-anchor: middle;
	dominant-baseline: central;
	pointer-events: none;
}
.center_bubble.active .center_b-count { fill: #00f2ff; }

/* Animated connection lines */
.center_route-line {
	stroke: url(#routeGrad);
	stroke-width: 1.2;
	fill: none;
	stroke-dasharray: 6 4;
	opacity: .5;
	animation: dash-flow 3s linear infinite;
}
@keyframes dash-flow {
	to { stroke-dashoffset: -100; }
}

/* Map legend */
.center_map-legend {
	position: absolute;
	right: 24px;
	bottom: 24px;
	z-index: 4;
	background: rgba(4,15,38,.82);
	backdrop-filter: blur(16px);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 16px;
	padding: 18px 22px;
	font-size: 14px;
	min-width: 150px;
}
.center_legend-title {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255,255,255,.6);
	margin-bottom: 13px;
}
.center_legend-item {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 9px 0;
	color: rgba(255,255,255,.9);
	font-size: 14px;
	font-weight: 600;
}
.center_legend-dot {
	width: 11px; height: 11px;
	border-radius: 50%;
	flex-shrink: 0;
}
.center_legend-dot.center_direct { background: #1a7fff; box-shadow: 0 0 8px #1a7fff; }
.center_legend-dot.center_agency { background: #00f2ff; box-shadow: 0 0 8px #00f2ff; }
.center_legend-dot.center_cold { background: #00b8cc; box-shadow: 0 0 8px #00b8cc; }

/* Live badge */
.center_live-badge {
	position: absolute;
	top: 28px;
	right: 28px;
	z-index: 4;
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #4ade80;
	background: rgba(74,222,128,.1);
	border: 1px solid rgba(74,222,128,.3);
	padding: 6px 12px;
	border-radius: 999px;
}
.center_live-dot {
	width: 6px; height: 6px;
	border-radius: 50%;
	background: #4ade80;
	box-shadow: 0 0 6px #4ade80;
	animation: pulse-dot 1.5s ease-in-out infinite;
}

/* ===== RIGHT PANEL ===== */
.center_panel {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* Total card */
.center_total-card {
	position: relative;
	border-radius: 24px;
	padding: 28px 32px;
	overflow: hidden;
	background: linear-gradient(135deg, rgba(0,102,255,.9) 0%, rgba(37,99,235,.85) 100%);
	border: 1px solid rgba(0,102,255,.4);
	box-shadow: 0 20px 60px rgba(0,102,255,.3);
}
.center_total-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(255,255,255,.08) 0%, transparent 60%);
	pointer-events: none;
}
.center_total-card::after {
	content: '';
	position: absolute;
	right: -30px; bottom: -30px;
	width: 140px; height: 140px;
	border-radius: 50%;
	background: rgba(255,255,255,.06);
	pointer-events: none;
}
.center_total-label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255,255,255,.95);
	margin-bottom: 8px;
}
.center_total-num {
	font-size: 62px;
	font-weight: 900;
	letter-spacing: -.04em;
	line-height: 1;
	margin-bottom: 8px;
	color: #fff;
}
.center_total-hint {
	color: rgba(255,255,255,.9);
	font-weight: 600;
}

/* Selected bar */
.center_selbar {
	background: rgba(255,255,255,.06);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(255,255,255,.12);
	border-left: 3px solid #1a7fff;
	border-radius: 16px;
	padding: 16px 20px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-weight: 700;
	color: rgba(255,255,255,.9);
	font-size: 16px;
}
.center_selbar svg {
	width: 18px; height: 18px;
	stroke: #3b97ff;
	fill: none;
	stroke-width: 2;
	flex-shrink: 0;
}
.center_selbar-count {
	margin-left: auto;
	font-size: 24px;
	font-weight: 900;
	color: #00f2ff;
}

/* Card list */
.center_cards {
	flex: 1;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-height: 435px;
}
.center_cards::-webkit-scrollbar { width: 4px; }
.center_cards::-webkit-scrollbar-track { background: transparent; }
.center_cards::-webkit-scrollbar-thumb { background: rgba(255,255,255,.12); border-radius: 2px; }
.center_cards::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.15); }

.center_ccard {
	background: rgba(255,255,255,.06);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 16px;
	padding: 16px 18px;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	transition: transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .28s, border-color .28s, background .28s;
	animation: fadeUp .4s both;
}
.center_cpin {
	width: 18px;
	min-height: 18px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 5px;
	padding: 4px 0;
	flex-shrink: 0;
	align-self: flex-start;
}
.center_cpin svg { display: block; flex-shrink: 0; }
.center_cinfo { flex: 1; min-width: 0; }
.center_cname {
	font-weight: 700;
	font-size: 1rem;
	color: rgba(255,255,255,.9);
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.center_tag {
	font-size: 12px;
	font-weight: 500;
	padding: 2px 8px;
	border-radius: 4px;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.center_tag.center_direct {
	background: rgba(0,102,255,.3);
	color: #3b97ff;
	border: 1px solid rgba(0,102,255,.4);
}
.center_tag.center_agency {
	background: rgba(255,255,255,.08);
	color: rgba(255,255,255,.4);
	border: 1px solid rgba(255,255,255,.12);
}
.center_caddr {
	font-size: 14px;
	color: rgba(255,255,255,.4);
	margin-top: 4px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.center_empty {
	text-align: center;
	color: rgba(255,255,255,.4);
	font-size: 15px;
	padding: 40px 0;
}
@keyframes fadeUp {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: translateY(0); }
}

/* ===== SCROLL REVEAL ===== */
.center_reveal {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
}
.center_reveal.visible {
	opacity: 1;
	transform: none;
}
.center_reveal-delay-1 { transition-delay: .1s; }
.center_reveal-delay-2 { transition-delay: .2s; }
.center_reveal-delay-3 { transition-delay: .3s; }

/* ===== NETWORK SECTION LIGHT OVERRIDE ===== */
.center_network-section-light {
	position: relative;
	z-index: 1;
	background: #f0f4ff;
	color: #0a1030;
}
.center_network-section-light .center_section-label { color: #0066FF; }
.center_network-section-light .center_section-title { color: #0a1030; }
.center_network-section-light .center_filters .center_fbtn {
	border-color: rgba(0,0,0,.12);
	background: rgba(255,255,255,.8);
	color: #334;
}
.center_network-section-light .center_filters .center_fbtn:hover {
	border-color: #0066FF;
	color: #0066FF;
	background: rgba(0,102,255,.06);
}
.center_network-section-light .center_filters .center_fbtn.on {
	background: linear-gradient(135deg, #0066FF, #2563eb);
	border-color: transparent;
	color: #fff;
	box-shadow: 0 4px 20px rgba(0,102,255,.3);
}
.center_network-section-light .center_mapbox {
	background: #fff;
	border: 1px solid rgba(0,102,255,.12);
	box-shadow: 0 20px 60px rgba(0,102,255,.08);
}
.center_network-section-light .center_mapbox::before,
.center_network-section-light .center_mapbox::after { opacity: .3; }
.center_network-section-light .center_map-eyebrow { color: #0066FF; }
.center_network-section-light .center_map-title { color: #0a1030; }
.center_network-section-light .center_live-badge {
	background: rgba(0,102,255,.08);
	border: 1px solid rgba(0,102,255,.2);
	color: #0066FF;
}
.center_network-section-light .center_live-dot { background: #0066FF; box-shadow: 0 0 6px #0066FF; }
.center_network-section-light .center_map-legend { border-top: 1px solid rgba(0,0,0,.08); }
.center_network-section-light .center_map-legend .leg-label { color: #334; }
.center_network-section-light .cards-panel {
	background: #fff;
	border: 1px solid rgba(0,102,255,.12);
	box-shadow: 0 20px 60px rgba(0,102,255,.08);
}
.center_network-section-light .panel-head { border-bottom: 1px solid rgba(0,0,0,.08); }
.center_network-section-light .center_selbar { background: rgba(0,102,255,.05); border: 1px solid rgba(0,102,255,.15); color: #334; }
.center_network-section-light .center_selbar-count { background: none; color: #0066FF; }
.center_network-section-light .card-item { background: #f7f9ff; border-color: rgba(0,0,0,.06); }
.center_network-section-light .card-item:hover { border-color: rgba(0,102,255,.3); background: rgba(0,102,255,.04); }
.center_network-section-light .card-name { color: #0a1030; }
.center_network-section-light .card-addr { color: #556; }
.center_network-section-light .center_total-num { color: #fff; }
.center_network-section-light .center_total-label { color: rgba(255,255,255,.95); }
.center_network-section-light .center_total-hint { color: rgba(255,255,255,.9); }
.center_network-section-light .panel-foot { border-top: 1px solid rgba(0,0,0,.08); }
/* ccard text in light mode */
.center_network-section-light .center_ccard {
	background: #fff;
	border-color: rgba(0,0,0,.09);
}
.center_network-section-light .center_cname { color: #0a1030; }
.center_network-section-light .center_caddr { color: #445; }
.center_network-section-light .center_tag.center_agency {
	background: rgba(0,0,0,.06);
	color: #445;
	border-color: rgba(0,0,0,.1);
}
.center_network-section-light .center_empty { color: #667; }
/* map region paths in light mode - darker fill for visibility */
.center_network-section-light #kmap .center_rgn-path {
	fill: rgba(30,90,200,.55);
	stroke: rgba(0,102,255,.9);
	stroke-width: 1.4;
}
.center_network-section-light #kmap .center_rgn-path:hover { fill: rgba(0,80,220,.75); stroke: #0066FF; }
.center_network-section-light #kmap .center_rgn-path.active { fill: rgba(0,60,200,.82); stroke: #0066FF; stroke-width: 2; }
/* map legend in light mode */
.center_network-section-light .center_map-legend {
	background: rgba(255,255,255,.96);
	border-color: rgba(0,102,255,.2);
	backdrop-filter: blur(12px);
	box-shadow: 0 8px 32px rgba(0,0,0,.12);
}
.center_network-section-light .center_map-legend .center_legend-title { color: #445; }
.center_network-section-light .center_map-legend .center_legend-item { color: #0a1030; font-weight: 700; }
/* map stroke in light mode - even stronger */
.center_network-section-light #kmap .center_rgn-path {
	fill: rgba(20,80,200,.52);
	stroke: rgba(0,100,255,.95);
	stroke-width: 2;
}
.center_network-section-light #kmap .center_rgn-path:hover { fill: rgba(0,70,210,.72); stroke: #0055cc; stroke-width: 2.4; }
.center_network-section-light #kmap .center_rgn-path.active { fill: rgba(0,50,180,.82); stroke: #0044aa; stroke-width: 2.6; }
/* panel area light overrides */
.center_network-section-light .center_selbar {
	background: rgba(0,102,255,.05);
	border-color: #0066FF;
	color: #0a1030;
}
.center_network-section-light .center_selbar svg { stroke: #0066FF; }

.center_network-section-light .center_cards::-webkit-scrollbar-thumb { background: rgba(0,0,0,.15); }
.center_network-section-light .center_ccard {
	background: #fff;
	border-color: rgba(0,0,0,.08);
	color: #0a1030;
}
.center_network-section-light .card-name { color: #0a1030; }
.center_network-section-light .card-addr { color: #556; }
/* divider for light section */
.center_section-divider-light {
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(0,102,255,.15) 20%, rgba(0,102,255,.15) 80%, transparent);
	margin: 0;
}

/* ===== AGENCY MODEL SECTION ===== */
.center_agency-section {
	position: relative;
	z-index: 1;
	padding: 120px 0 140px;
	background: #020818;
	overflow: hidden;
}
.center_agency-section::before {
	content: '';
	position: absolute;
	top: -200px; left: -200px;
	width: 600px; height: 600px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(0,102,255,.12) 0%, transparent 70%);
	filter: blur(60px);
	pointer-events: none;
}
.center_agency-section::after {
	content: '';
	position: absolute;
	bottom: -200px; right: -200px;
	width: 500px; height: 500px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(0,242,255,.08) 0%, transparent 70%);
	filter: blur(60px);
	pointer-events: none;
}
/* headline badge */
.center_agency-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(0,242,255,.08);
	border: 1px solid rgba(0,242,255,.2);
	border-radius: 999px;
	padding: 6px 16px;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #00f2ff;
	margin-bottom: 20px;
}
.center_agency-badge-dot {
	width: 6px; height: 6px;
	border-radius: 50%;
	background: #00f2ff;
	animation: pulse 2s infinite;
}
.center_agency-headline {
	font-size: clamp(38px, 4.8vw, 63px);
	font-weight: 900;
	letter-spacing: -.03em;
	line-height: 1.12;
	margin-bottom: 20px;
}
.center_agency-sub {
	color: rgba(255,255,255,.7);
	font-size: 20px;
	line-height: 1.7;
	max-width: 600px;
	margin-bottom: 64px;
}
/* cert pills */
.center_cert-strip {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 72px;
}
.center_cert-pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 999px;
	padding: 11px 22px;
	font-size: 1.125rem;
	font-weight: 600;
	color: rgba(255,255,255,.9);
	backdrop-filter: blur(8px);
}
.center_cert-pill-icon {
	width: 22px; height: 22px;
	border-radius: 6px;
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.center_cert-pill-icon.center_gov { background: linear-gradient(135deg,#0066FF,#2563eb); }
.center_cert-pill-icon.center_ai  { background: linear-gradient(135deg,#00c6a2,#0066FF); }
/* stage flow */
.center_stage-grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 0;
	position: relative;
	margin-bottom: 80px;
}
.center_stage-grid::before {
	content: '';
	position: absolute;
	top: 56px; left: calc(16.67% + 24px); right: calc(16.67% + 24px);
	height: 2px;
	background: linear-gradient(90deg, #3b97ff, #00f2ff);
	z-index: 0;
	overflow: hidden;
}
.center_stage-grid::after {
	content: '';
	position: absolute;
	top: 56px; left: calc(16.67% + 24px); right: calc(16.67% + 24px);
	height: 2px;
	background: rgba(255,255,255,0.9);
	-webkit-mask: linear-gradient(90deg, transparent, #fff 50%, transparent) no-repeat;
	mask: linear-gradient(90deg, transparent, #fff 50%, transparent) no-repeat;
	-webkit-mask-size: 40% 100%;
	mask-size: 40% 100%;
	-webkit-mask-position: -40% 0;
	mask-position: -40% 0;
	z-index: 1;
	animation: stage-line-flow 3.2s ease-in-out infinite;
}
@keyframes stage-line-flow {
	0%   { -webkit-mask-position: -40% 0; mask-position: -40% 0; }
	100% { -webkit-mask-position: 140% 0; mask-position: 140% 0; }
}
.center_stage-card {
	position: relative;
	z-index: 2;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 24px;
	padding: 32px 28px 36px;
	margin: 0 10px;
	transition: border-color .3s, background .3s;
}
.center_stage-card:hover {
	background: rgba(0,102,255,.08);
	border-color: rgba(0,102,255,.35);
}
.center_stage-num {
	width: 48px; height: 48px;
	color:#fff;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .02em;
	margin: 0 auto 20px;
	position: relative;
	z-index: 2;
}
.center_stage-num.center_s1 { background: linear-gradient(135deg,#3b97ff,#0066FF); box-shadow: 0 0 20px rgba(59,151,255,.5); }
.center_stage-num.center_s2 { background: linear-gradient(135deg,#0066FF,#00b8cc); box-shadow: 0 0 20px rgba(0,102,255,.5); }
.center_stage-num.center_s3 { background: linear-gradient(135deg,#00c6a2,#00f2ff); box-shadow: 0 0 20px rgba(0,242,255,.5); }
.center_stage-tag {
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #00f2ff;
	margin-bottom: 8px;
	text-align: center;
}
.center_stage-name {
	font-size: var(--fs-label-sub);
	color:#fff;
	font-weight: 700;
	letter-spacing: -.02em;
	text-align: center;
	margin-bottom: 12px;
}
.center_stage-name span {
	display: block;
	font-size: 1rem;
	font-weight: 500;
	color: rgba(255,255,255,.4);
	letter-spacing: .04em;
	margin-top: 4px;
}
.center_stage-desc {
	font-size: var(--fs-desc-sub);
	color: rgba(255,255,255,.7);
	line-height: 1.6;
	text-align: center;
}
/* arrow between cards */
.center_stage-arrow {
	position: absolute;
	top: 44px;
	right: -22px;
	z-index: 3;
	color: #00f2ff;
	opacity: .6;
}
/* model types */
.center_model-grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 20px;
	margin-bottom: 80px;
}
.center_model-card {
	text-align:center;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 16px;
	padding: 28px 24px;
	position: relative;
	overflow: hidden;
	transition: all .3s;
}
.center_model-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	border-radius: 3px 3px 0 0;
}
.center_model-card.center_m1::before { background: linear-gradient(90deg,#3b97ff,#0066FF); }
.center_model-card.center_m2::before { background: linear-gradient(90deg,#0066FF,#00f2ff); }
.center_model-card.center_m3::before { background: linear-gradient(90deg,#00c6a2,#00f2ff); }
.center_model-card:hover {
	background: rgba(0,102,255,.07);
	border-color: rgba(0,102,255,.25);
	transform: translateY(-4px);
	box-shadow: 0 16px 48px rgba(0,102,255,.15);
}
.center_model-icon {
	width: 44px; height: 44px;
	border-radius: 12px;
	background: rgba(0,102,255,.15);
	display: flex; align-items: center; justify-content: center;
	margin:0 auto 16px auto;
}
.center_model-icon svg { width: 22px; height: 22px; stroke: #3b97ff; }
.center_model-title {
	font-size: var(--fs-label-sub);
	font-weight: 700;
	letter-spacing: -.01em;
	margin-bottom: 10px;
	color: #fff;
}
.center_model-desc {
	font-size: var(--fs-desc-sub);
	color: rgba(255,255,255,.7);
	line-height: 1.65;
}
.center_model-tag {
	display: inline-block;
	margin-top: 14px;
	font-size: 1rem;
	font-weight: 700;
	padding: 4px 12px;
	border-radius: 999px;
	border: 1px solid rgba(0,242,255,.25);
	color: #4df7ff;
	letter-spacing: .06em;
	background: rgba(0,242,255,.05);
}
/* support row */
.center_support-grid {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 16px;
}
.center_support-item {
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.07);
	border-radius: 10px;
	padding: 30px 18px;
	text-align: center;
	transition: background .25s;
}
.center_support-item:hover { background: rgba(0,102,255,.06); border-color: rgba(0,102,255,.2); }
.center_support-icon {
	width: 40px; height: 40px;
	border-radius: 10px;
	background: rgba(0,102,255,.12);
	display: flex; align-items: center; justify-content: center;
	margin: 0 auto 12px;
}
.center_support-icon svg { width: 18px; height: 18px; stroke: #3b97ff; }
.center_support-title { font-size: var(--fs-label-sub); font-weight: 700; color: rgba(255,255,255,.9); margin-bottom: 4px; }
.center_support-text  { font-size: var(--fs-desc-sub); color: rgba(255,255,255,.4); }
/* quote */
.center_ceo-quote {
	margin-top: 72px;
	background: rgba(0,102,255,.07);
	border: 1px solid rgba(0,102,255,.18);
	border-radius: 24px;
	padding: 48px 52px;
	position: relative;
	overflow: hidden;
}
.center_ceo-quote::before {
	content: '"';
	position: absolute;
	top: -10px; left: 32px;
	font-size: 160px;
	font-weight: 900;
	color: rgba(0,102,255,.12);
	line-height: 1;
	pointer-events: none;
}
.center_ceo-quote-text {
	font-size: clamp(16px,1.8vw,20px);
	font-weight: 600;
	line-height: 1.7;
	color: rgba(255,255,255,.9);
	margin-bottom: 28px;
	max-width: 760px;
}
.center_ceo-byline {
	display: flex;
	align-items: center;
	gap: 16px;
}
.center_ceo-avatar {
	width: 44px; height: 44px;
	border-radius: 50%;
	background: linear-gradient(135deg, #0066FF, #00f2ff);
	display: flex; align-items: center; justify-content: center;
	font-size: 16px; font-weight: 900; color: #fff;
	flex-shrink: 0;
}
.center_ceo-info-name { font-size: 15px; font-weight: 700; color: #fff; }
.center_ceo-info-role { font-size: 13px; color: rgba(255,255,255,.4); }

/* ===== MOBILE ===== */
@media (max-width: 960px) {
	.center_stage-grid { grid-template-columns: 1fr; }
	.center_stage-grid::before,
	.center_stage-grid::after { display: none; }
	.center_stage-card { margin: 0 0 16px; }
	.center_stage-arrow { display: none; }
	.center_model-grid { grid-template-columns: 1fr; }
	.center_support-grid { grid-template-columns: 1fr; }
	.center_ceo-quote { padding: 36px 24px; }
	.center_ceo-quote::before { font-size: 100px; }

	.center_split {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		grid-template-areas:
			"map"
			"header"
			"panel";
	}
	.center_kpi-strip { grid-template-columns: 1fr; gap: 1px; }
	.center_kpi-item { padding: 28px 20px; }
	.center_kpi-strip { border-radius: 24px; }
	.center_mapbox { min-height: 440px; }
	.center_cards { max-height: 335px; }
	.center_section-header { flex-direction: column; gap: 16px; }
	.center_total-num { font-size: 44px; }
}
@media (max-width: 480px) {
	.center_cert-strip { flex-direction: column; }

	.center_kpi-strip { grid-template-columns: 1fr; }
	.center_hero-eyebrow { font-size: 10px; }

	.center_map-legend {
		right: auto;
		bottom: 10px;
		left: 10px;
		padding: 14px 15px;
		min-width: 100px;
	}
	.center_section-header {
		align-items: center;
		margin-bottom: 20px;
	}
	.center_filters {
		gap: 4px;
	}
	.center_fbtn {
		padding: 9px 15px;
	}
	.center_cards {
		max-height: 300px;
	}
}