/* services.css — Services page (layers on top of amp.css) */

.practice-row {
	padding: 110px 0;
	border-top: 1px solid var(--rule);
	/* keep the anchored section clear of the sticky nav on jump */
	scroll-margin-top: calc(var(--nav-h, 76px) + 24px);
}

/* smooth in-page jumps to the anchored practices */
html {
	scroll-behavior: smooth;
}

.practice-grid {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 64px;
	align-items: start;
}

.practice-card {
	border-radius: 20px;
	padding: 42px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.practice-card.dark {
	background: #0e1118;
	border: 1px solid rgba(255, 255, 255, 0.09);
	color: #fff;
}

.practice-card.blue {
	background: linear-gradient(155deg, #16307a 0%, #0c1430 72%);
	border: 1px solid rgba(110, 134, 255, 0.4);
	color: #fff;
}

.pc-item {
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	padding-top: 18px;
}

.pc-item .t {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: -0.015em;
	margin-bottom: 4px;
}

.pc-item .d {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.65);
	font-family: var(--mono);
}

.prac-graphic {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	height: clamp(280px, 32vw, 400px);
	margin-bottom: 34px;
	background: radial-gradient(ellipse 90% 80% at 22% 6%, #18305c, transparent 62%),
		radial-gradient(ellipse 80% 95% at 98% 102%, rgba(43, 76, 246, 0.3), transparent 66%), #0a1020;
	border: 1px solid rgba(110, 134, 255, 0.2);
}
.prac-graphic .prac-glabel {
	color: #5a5c66;
	background: none;
}
.prac-graphic .prac-glabel .dot,
.prac-graphic .prac-glabel::before {
	background: #2b4cf6;
}

.prac-canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
}

.prac-glabel {
	position: absolute;
	left: 18px;
	bottom: 14px;
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.62);
	display: flex;
	align-items: center;
	gap: 8px;
	pointer-events: none;
}

.prac-glabel::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--blue-cyan);
	box-shadow: 0 0 8px var(--blue-cyan);
}

@media (max-width: 900px) {
	.practice-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.practice-card {
		grid-template-columns: 1fr;
	}

	#models-grid {
		grid-template-columns: 1fr !important;
	}
}
@media (max-width: 560px) {
	/* hide scroll cue on mobile */
	.amp-cue {
		display: none;
	}
}
