/* ═══════════════════════════════════════════════
   SERVICES BENTO GRID
   Asymmetric 2-col service cards with size variants.
   Models .svc-bento + .svc-card from
   PREVIEW/css/sections/services.css.
   Block-scoped — loaded only when rendered.
   ═══════════════════════════════════════════════ */

.services-bento {
	padding: 40px 24px 80px;
}
.services-bento__inner {
	max-width: var(--page-max);
	margin: 0 auto;
}

.services-bento__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

/* ── Base card ── */
.services-bento__card {
	position: relative;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 40px 36px;
	overflow: hidden;
	transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
}
.services-bento__card:hover {
	border-color: var(--primary);
	transform: translateY(-4px);
	box-shadow: var(--card-shadow);
}

.services-bento__num {
	font-family: var(--mono);
	font-size: 13px;
	color: var(--muted);
	margin-bottom: 20px;
	letter-spacing: 0.02em;
}

.services-bento__eyebrow {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--primary);
	font-weight: 600;
	margin-bottom: 8px;
}

.services-bento__title {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.015em;
	margin-bottom: 12px;
}

.services-bento__body {
	font-size: 15px;
	color: var(--fg-secondary);
	line-height: 1.6;
	margin-bottom: 20px;
}

.services-bento__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.services-bento__list li {
	font-size: 12px;
	padding: 5px 12px;
	background: color-mix(in srgb, var(--primary) 8%, transparent);
	border-radius: 100px;
	color: var(--fg-secondary);
	white-space: nowrap;
	transition: background 0.3s;
}
.services-bento__card:hover .services-bento__list li {
	background: color-mix(in srgb, var(--primary) 14%, transparent);
}

.services-bento__badge {
	position: absolute;
	top: 36px;
	right: 36px;
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--muted);
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 6px;
	padding: 4px 10px;
}

/* ── Featured: full-width AND highlighted ── */
.services-bento__card--featured {
	grid-column: 1 / -1;
	padding: 48px 40px;
	background: color-mix(in srgb, var(--primary) 8%, var(--surface));
	border-color: color-mix(in srgb, var(--primary) 30%, var(--border));
}
.services-bento__card--featured .services-bento__content { max-width: 720px; }
.services-bento__card--featured .services-bento__title { font-size: 28px; }
.services-bento__card--featured .services-bento__num {
	color: var(--primary);
	font-size: 16px;
	font-weight: 700;
}
.services-bento__card--featured .services-bento__eyebrow { color: var(--primary); }
.services-bento__card--featured .services-bento__badge {
	background: var(--primary);
	color: #fff;
	border-color: var(--primary);
}
.services-bento__card--featured:hover {
	border-color: var(--primary);
	background: color-mix(in srgb, var(--primary) 12%, var(--surface));
}

/* ── Large cards ── */
.services-bento__card--large {
	padding: 48px 40px;
}
.services-bento__card--large .services-bento__title { font-size: 26px; }

/* ── Medium cards (default sizing already applied via base) ── */

@media (max-width: 900px) {
	.services-bento__grid { grid-template-columns: 1fr; }
	.services-bento__card--featured { grid-column: auto; }
}
@media (max-width: 600px) {
	.services-bento__card { padding: 28px 24px; }
	.services-bento__card--featured,
	.services-bento__card--large { padding: 32px 28px; }
	.services-bento__card--featured .services-bento__title,
	.services-bento__card--large .services-bento__title { font-size: 22px; }
	.services-bento__badge { top: 24px; right: 24px; }
}
