.contact-box {
	max-width: 640px;
	margin: 0 auto;
	background: linear-gradient(180deg, rgba(124, 58, 237, 0.1), var(--surface) 60%);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-lg);
	padding: 44px 40px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

.contact-box h2 {
	font-size: clamp(24px, 3.4vw, 32px);
}

.contact-form {
	width: 100%;
	display: flex;
	gap: 10px;
	margin-top: 8px;
}

.contact-form input {
	flex: 1;
	background: rgba(0, 0, 0, 0.25);
	border: 1px solid var(--border);
	border-radius: 999px;
	padding: 13px 18px;
	color: var(--text-primary);
	font-family: var(--font-body);
	font-size: 14.5px;
}

.contact-form input::placeholder {
	color: var(--text-muted);
}

.contact-form input:focus-visible {
	outline: 2px solid var(--violet-300);
	outline-offset: 2px;
}

@media (max-width: 560px) {
	.contact-form {
		flex-direction: column;
	}
}

.site-footer {
	position: relative;
	z-index: 1;
	border-top: 1px solid var(--border);
	padding: 40px 0;
	background: var(--bg);
}

.site-footer .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}

.site-footer .foot-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-display);
	font-weight: 600;
}

.site-footer .foot-links {
	display: flex;
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 14px;
	color: var(--text-muted);
}

.site-footer .foot-links a:hover {
	color: var(--text-primary);
}

.site-footer .copy {
	font-size: 13px;
	color: var(--text-muted);
}
