/**
 * =========================================================
 * FELIX SYSTEMS — SINGLE SERVICE
 * Dedicated presentation for Felix Core service records.
 * =========================================================
 */

.fc-service-detail {
	background: var(--fc-black);
}

.fc-service-hero {
	position: relative;
	border-bottom: 1px solid var(--fc-border);
	background:
		radial-gradient(circle at 78% 22%, rgba(181, 226, 0, 0.12), transparent 25%),
		linear-gradient(rgba(181,226,0,0.028) 1px, transparent 1px),
		linear-gradient(90deg, rgba(181,226,0,0.028) 1px, transparent 1px),
		var(--fc-black);
	background-size: auto, 72px 72px, 72px 72px, auto;
}

.fc-service-hero::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(8,10,8,0.05), transparent 50%, rgba(8,10,8,0.26));
	content: "";
	pointer-events: none;
}

.fc-service-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
	align-items: end;
	gap: clamp(2.5rem, 6vw, 6rem);
	padding-block: clamp(4.75rem, 8vw, 7.5rem);
}

.fc-service-hero__content { min-width: 0; }
.fc-service-hero__content h1 { max-width: 12ch; margin-bottom: 1.5rem; }
.fc-service-hero__label { margin: -0.3rem 0 1rem; color: var(--fc-text-muted); font-size: 0.86rem; font-weight: 750; }
.fc-service-hero__lede { max-width: 760px; margin: 0; color: var(--fc-text-muted); font-size: clamp(1.05rem, 1.45vw, 1.22rem); line-height: 1.7; }
.fc-service-hero__actions { margin-top: 2rem; }

.fc-service-value {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(247,244,236,0.13);
	border-radius: var(--fc-radius-lg);
	background: linear-gradient(145deg, rgba(21,25,21,0.94), rgba(13,16,13,0.82));
	box-shadow: 0 30px 90px rgba(0,0,0,0.28);
	padding: clamp(1.6rem, 3vw, 2.35rem);
}

.fc-service-value::before {
	position: absolute;
	top: 0;
	right: 0;
	width: 150px;
	height: 150px;
	background: radial-gradient(circle at top right, rgba(181,226,0,0.12), transparent 68%);
	content: "";
	pointer-events: none;
}

.fc-service-value__index {
	display: block;
	margin-bottom: 3rem;
	color: rgba(247,244,236,0.22);
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.14em;
}

.fc-service-value__label {
	margin: 0 0 0.8rem;
	color: var(--fc-green);
	font-size: 0.76rem;
	font-weight: 850;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.fc-service-value > p:not(.fc-service-value__label) {
	margin: 0;
	color: var(--fc-cream);
	font-size: clamp(1.05rem, 1.35vw, 1.22rem);
	line-height: 1.65;
}

.fc-service-value__signal {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-top: 2rem;
	border-top: 1px solid rgba(247,244,236,0.08);
	padding-top: 1rem;
	color: var(--fc-text-muted);
	font-size: 0.82rem;
}

.fc-service-value__signal span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--fc-green);
	box-shadow: 0 0 0 5px rgba(181,226,0,0.08);
}

.fc-service-capabilities__grid,
.fc-service-stack__grid {
	display: grid;
	grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
	gap: clamp(2.5rem, 6vw, 6.5rem);
	align-items: start;
}

.fc-service-capabilities .fc-section-heading { margin-bottom: 0; }
.fc-service-capabilities__content { min-width: 0; }
.fc-service-capabilities__content > :first-child { margin-top: 0; }
.fc-service-capabilities__content > :last-child { margin-bottom: 0; }

.fc-service-capabilities__content ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--fc-border-light);
}

.fc-service-capabilities__content li {
	position: relative;
	min-height: 112px;
	border-bottom: 1px solid var(--fc-border-light);
	padding: 1.35rem 1.2rem 1.35rem 2rem;
	color: var(--fc-black);
	font-size: clamp(1rem, 1.2vw, 1.08rem);
	font-weight: 720;
	line-height: 1.45;
}

.fc-service-capabilities__content li:nth-child(odd) { border-right: 1px solid var(--fc-border-light); }
.fc-service-capabilities__content li::before {
	position: absolute;
	top: 1.85rem;
	left: 0.15rem;
	width: 9px;
	height: 9px;
	border-radius: 2px;
	background: var(--fc-green-dark);
	content: "";
}

.fc-service-stack {
	border-bottom: 1px solid var(--fc-border);
	background: var(--fc-black-soft);
}

.fc-service-stack .fc-section-heading { margin-bottom: 0; }
.fc-service-stack__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fc-service-stack__list li {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	border: 1px solid rgba(247,244,236,0.12);
	border-radius: 999px;
	background: rgba(247,244,236,0.035);
	color: var(--fc-cream);
	padding: 0.72rem 1rem;
	font-size: 0.86rem;
	font-weight: 760;
}

.fc-service-method {
	border-bottom: 1px solid var(--fc-border);
}
.fc-service-method .fc-section-heading--split > p { max-width: 580px; margin: 0; color: var(--fc-text-muted); }

.fc-service-method__steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0;
	margin: clamp(2rem, 5vw, 4rem) 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid rgba(247,244,236,0.11);
	border-bottom: 1px solid rgba(247,244,236,0.11);
}

.fc-service-method__steps li {
	position: relative;
	min-width: 0;
	padding: 1.5rem 1.2rem 1.65rem;
}
.fc-service-method__steps li + li { border-left: 1px solid rgba(247,244,236,0.11); }
.fc-service-method__steps span { display: block; margin-bottom: 2.2rem; color: var(--fc-green); font-size: 0.76rem; font-weight: 850; letter-spacing: 0.12em; }
.fc-service-method__steps strong { display: block; color: var(--fc-cream); font-size: 1.05rem; }
.fc-service-method__steps small { display: block; margin-top: 0.5rem; color: var(--fc-text-muted); font-size: 0.79rem; line-height: 1.55; }

.fc-service-related .fc-section-heading--split > p { max-width: 540px; margin: 0; color: var(--fc-text-dark-muted); }
.fc-service-related__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.fc-service-related__card {
	display: flex;
	min-height: 280px;
	flex-direction: column;
	border: 1px solid var(--fc-border-light);
	border-radius: var(--fc-radius-lg);
	background: #fffefa;
	box-shadow: 0 18px 50px rgba(8,10,8,0.04);
	color: var(--fc-black);
	padding: clamp(1.45rem, 3vw, 2.2rem);
	text-decoration: none;
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.fc-service-related__card:hover {
	transform: translateY(-2px);
	border-color: rgba(150,201,0,0.42);
	box-shadow: 0 26px 70px rgba(8,10,8,0.08);
	color: var(--fc-black);
}
.fc-service-related__card > span { color: #6c8909; font-size: 0.74rem; font-weight: 850; letter-spacing: 0.12em; }
.fc-service-related__card h3 { margin: 1rem 0 0.8rem; color: var(--fc-black); font-size: clamp(1.55rem, 2.6vw, 2.2rem); }
.fc-service-related__card p { margin: 0 0 1.5rem; color: var(--fc-text-dark-muted); font-size: 0.94rem; line-height: 1.65; }
.fc-service-related__card strong { margin-top: auto; color: var(--fc-black); font-size: 0.82rem; letter-spacing: 0.05em; text-transform: uppercase; }
.fc-service-related__card:hover strong { color: #6c8909; }

.fc-service-cta {
	padding-block: clamp(3.5rem, 6vw, 5rem);
	background: var(--fc-black);
}
.fc-service-cta__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 2rem;
	overflow: hidden;
	border: 1px solid var(--fc-border);
	border-radius: var(--fc-radius-lg);
	background:
		radial-gradient(circle at 88% 12%, rgba(181,226,0,0.13), transparent 28%),
		var(--fc-surface);
	padding: clamp(1.75rem, 4vw, 3rem);
}
.fc-service-cta__inner h2 { max-width: 760px; margin-bottom: 0.8rem; }
.fc-service-cta__inner p:not(.fc-eyebrow) { margin: 0; color: var(--fc-text-muted); }

@media (max-width: 980px) {
	.fc-service-hero__grid,
	.fc-service-capabilities__grid,
	.fc-service-stack__grid { grid-template-columns: 1fr; }
	.fc-service-value { max-width: 760px; }
	.fc-service-method__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fc-service-method__steps li + li { border-left: 0; }
	.fc-service-method__steps li:nth-child(even) { border-left: 1px solid rgba(247,244,236,0.11); }
	.fc-service-method__steps li:nth-child(n+3) { border-top: 1px solid rgba(247,244,236,0.11); }
	.fc-service-cta__inner { grid-template-columns: 1fr; }
	.fc-service-cta__inner .fc-button { width: fit-content; }
}

@media (max-width: 700px) {
	.fc-service-hero__grid { padding-block: 4rem; }
	.fc-service-hero__actions { width: 100%; }
	.fc-service-hero__actions .fc-button { width: 100%; }
	.fc-service-capabilities__content ul { grid-template-columns: 1fr; }
	.fc-service-capabilities__content li:nth-child(odd) { border-right: 0; }
	.fc-service-capabilities__content li { min-height: 0; padding: 1.15rem 0.75rem 1.15rem 1.7rem; }
	.fc-service-capabilities__content li::before { top: 1.7rem; left: 0; }
	.fc-service-method__steps { grid-template-columns: 1fr; }
	.fc-service-method__steps li:nth-child(even) { border-left: 0; }
	.fc-service-method__steps li + li { border-top: 1px solid rgba(247,244,236,0.11); }
	.fc-service-method__steps span { margin-bottom: 1.1rem; }
	.fc-service-related__grid { grid-template-columns: 1fr; }
	.fc-service-related__card { min-height: 0; }
	.fc-service-cta__inner .fc-button { width: 100%; }
}
