/* KJ Core footer */
.kj-footer {
	--kjf-bg: #0d0f14;
	--kjf-text: #a3aab8;
	--kjf-head: #ffffff;
	--kjf-accent: #4175fc;
	--kjf-line: rgba(255, 255, 255, .08);
	position: relative;
	overflow: hidden;
	background: var(--kjf-bg);
	color: var(--kjf-text);
	font-family: 'Open Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	font-size: 15px;
	line-height: 1.65;
	border-top: 1px solid var(--kjf-line);
}
.kj-footer__glow {
	position: absolute; inset: 0; pointer-events: none;
	background:
		radial-gradient(60% 55% at 50% 0%, rgba(65, 117, 252, .14), transparent 70%),
		radial-gradient(40% 40% at 90% 100%, rgba(8, 74, 243, .08), transparent 70%);
}
.kj-footer__inner { position: relative; max-width: 1200px; margin: 0 auto; padding: 72px 28px 0; }
.kj-footer__grid {
	display: grid;
	grid-template-columns: 1.35fr 0.8fr 1.1fr 1.25fr 1.3fr;
	gap: 40px;
	gap: 48px;
	padding-bottom: 56px;
}
.kj-footer a { color: inherit; text-decoration: none; transition: color .2s ease; }
.kj-footer a:hover, .kj-footer a:focus-visible { color: #fff; }
.kj-footer a:focus-visible { outline: 2px solid var(--kjf-accent); outline-offset: 3px; border-radius: 4px; }

.kj-footer__logo { display: inline-block; margin-bottom: 18px; }
.kj-footer__logo img { width: 104px; height: auto; filter: brightness(0) invert(1); opacity: .95; }
.kj-footer__tagline { margin: 0 0 24px; max-width: 320px; }

.kj-footer__social { display: flex; gap: 10px; list-style: none; margin: 0; padding: 0; }
.kj-footer__social a {
	display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px;
	background: rgba(255, 255, 255, .05); border: 1px solid var(--kjf-line);
	transition: background .2s ease, border-color .2s ease, transform .2s ease, color .2s ease;
}
.kj-footer__social a:hover { background: var(--kjf-accent); border-color: var(--kjf-accent); transform: translateY(-2px); }
.kj-footer__social svg { width: 18px; height: 18px; fill: currentColor; }

.kj-footer__title {
	margin: 0 0 18px;
	font-family: 'Raleway', system-ui, sans-serif;
	font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--kjf-head);
}
.kj-footer__col ul { list-style: none; margin: 0; padding: 0; }
.kj-footer__col li { margin: 0 0 10px; }
.kj-footer__col li a { position: relative; }
.kj-footer__col li a::after {
	content: ''; position: absolute; left: 0; bottom: -2px; width: 100%; height: 1px;
	background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.kj-footer__col li a:hover::after { transform: scaleX(1); }
.kj-footer__more { display: inline-flex; align-items: center; gap: 6px; color: #8fb0ff !important; font-weight: 600; }
.kj-footer__more::after { display: none; }
.kj-footer__more svg, .kj-footer__button svg { width: 16px; height: 16px; fill: currentColor; transition: transform .2s ease; }
.kj-footer__more:hover svg, .kj-footer__button:hover svg { transform: translateX(3px); }

.kj-footer__cta p { margin: 0 0 20px; }
.kj-footer__apps small { display: block; font-size: 12px; opacity: .6; margin-top: 1px; }
.kj-footer__apps li { margin-bottom: 12px; }
.kj-footer__apps li a::after { display: none; }
.kj-footer__apps li a:hover small { opacity: .85; }
.kj-footer__button {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 12px 22px; border-radius: 999px;
	background: linear-gradient(135deg, #4175fc, #084af3);
	color: #fff !important; font-weight: 600; font-size: 14px;
	box-shadow: 0 8px 24px rgba(65, 117, 252, .28);
	transition: transform .2s ease, box-shadow .2s ease;
}
.kj-footer__button:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(65, 117, 252, .4); }
.kj-footer__place { display: flex; align-items: center; gap: 6px; margin: 22px 0 0 !important; font-size: 14px; }
.kj-footer__place svg { width: 16px; height: 16px; fill: var(--kjf-accent); }

.kj-footer__bottom {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px;
	padding: 22px 0 28px; border-top: 1px solid var(--kjf-line); font-size: 13.5px;
}
.kj-footer__bottom p { margin: 0; }
.kj-footer__legal { display: flex; gap: 24px; }
.kj-footer__top { display: inline-flex; align-items: center; gap: 4px; }
.kj-footer__top svg { width: 15px; height: 15px; fill: currentColor; }

@media (max-width: 1100px) {
	.kj-footer__grid { grid-template-columns: 1fr 1fr 1fr; gap: 40px 32px; }
	.kj-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
	.kj-footer__grid { grid-template-columns: 1fr 1fr; }
	.kj-footer__cta { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
	.kj-footer__inner { padding: 56px 22px 0; }
	.kj-footer__grid { grid-template-columns: 1fr 1fr; gap: 36px 20px; padding-bottom: 40px; }
	.kj-footer__brand, .kj-footer__cta { grid-column: 1 / -1; }
	.kj-footer__bottom { flex-direction: column; align-items: flex-start; gap: 10px; }
}
