/* Frontend Reference V1: canonical Capability System owner. */
body.ef-precision-industrial-campaign .ef-demo01-scene > .ef-v1-capability > .ef-v1-container { inline-size: min(calc(100% - (2 * clamp(var(--ef-primitive-space-5), 4vw, var(--ef-primitive-space-20)))), var(--ef-primitive-layout-presentation-wide)); margin-inline: auto; }
.ef-v1-capability { padding-block: var(--ef-primitive-space-24); background: var(--ef-primitive-color-white); }
.ef-v1-capability__canvas { display: grid; grid-template-columns: minmax(0, 1fr) 18rem; gap: var(--ef-primitive-space-6); align-items: stretch; }
.ef-v1-capability__map { min-inline-size: 0; padding: var(--ef-primitive-space-6); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "process materials" "connector connector" "precision quality"; gap: var(--ef-primitive-space-4); background-color: var(--ef-primitive-color-white); background-image: linear-gradient(var(--ef-primitive-color-slate100) 1px, transparent 1px), linear-gradient(90deg, var(--ef-primitive-color-slate100) 1px, transparent 1px); background-size: var(--ef-primitive-space-8) var(--ef-primitive-space-8); border-block: 1px solid var(--ef-primitive-color-slate200); }
.ef-v1-capability-node { position: relative; min-inline-size: 0; padding: var(--ef-primitive-space-6); background: rgba(255, 255, 255, .94); border: 1px solid var(--ef-primitive-color-slate200); }
.ef-v1-capability-node--process { grid-area: process; }
.ef-v1-capability-node--materials { grid-area: materials; }
.ef-v1-capability-node--precision { grid-area: precision; }
.ef-v1-capability-node--quality { grid-area: quality; }
.ef-v1-capability-node__index { position: absolute; inset-block-start: var(--ef-primitive-space-4); inset-inline-end: var(--ef-primitive-space-4); color: var(--ef-primitive-color-slate400); font-family: var(--ef-primitive-font-family-mono); font-size: var(--ef-primitive-font-size-caption); }
.ef-v1-capability-node h3 { margin: var(--ef-primitive-space-3) 0 var(--ef-primitive-space-4); max-inline-size: 18ch; font-size: var(--ef-primitive-font-size-h3); line-height: 1.12; letter-spacing: -.03em; }
.ef-v1-capability-node__values { margin: 0; padding: 0; display: grid; gap: var(--ef-primitive-space-2); color: var(--ef-primitive-color-slate700); font-size: var(--ef-primitive-font-size-caption); line-height: 1.5; list-style: none; }
.ef-v1-capability-node__values li { position: relative; padding-inline-start: var(--ef-primitive-space-4); }
.ef-v1-capability-node__values li::before { content: ""; position: absolute; inset-block-start: .55em; inset-inline-start: 0; inline-size: var(--ef-primitive-space-2); block-size: 1px; background: var(--ef-primitive-color-blue-v1-focus); }
.ef-v1-capability-node__value { margin: 0; color: var(--ef-primitive-color-slate700); font-weight: 650; line-height: 1.5; }
.ef-v1-capability-node__note { margin: var(--ef-primitive-space-2) 0 0; color: var(--ef-primitive-color-slate600); font-size: var(--ef-primitive-font-size-caption); line-height: 1.5; }
.ef-v1-capability-connector { grid-area: connector; min-block-size: 6rem; padding: var(--ef-primitive-space-4) var(--ef-primitive-space-6); display: grid; grid-template-columns: minmax(8rem, .65fr) minmax(0, 1.5fr) minmax(10rem, .75fr); align-items: center; gap: var(--ef-primitive-space-5); color: var(--ef-primitive-color-white); background: var(--ef-primitive-color-ink900); border-inline-start: var(--ef-primitive-space-1) solid var(--ef-primitive-color-blue-v1-focus); }
.ef-v1-capability-connector > span,
.ef-v1-capability-connector small { color: var(--ef-primitive-color-slate300); font-family: var(--ef-primitive-font-family-mono); font-size: var(--ef-primitive-font-size-caption); letter-spacing: .08em; text-transform: uppercase; }
.ef-v1-capability-connector strong { text-align: center; }
.ef-v1-capability-connector b { color: var(--ef-primitive-color-blue-v1-muted); }
.ef-v1-capability-connector small { text-align: end; }
.ef-v1-capability-snapshot { padding: var(--ef-primitive-space-6); display: flex; flex-direction: column; color: var(--ef-primitive-color-white); background: linear-gradient(145deg, var(--ef-primitive-color-ink900), var(--ef-primitive-color-ink950)); border-block: 1px solid var(--ef-primitive-color-slate700); }
.ef-v1-capability-snapshot__item { padding-block: var(--ef-primitive-space-5); display: grid; gap: var(--ef-primitive-space-2); border-block-start: 1px solid rgba(255, 255, 255, .12); }
.ef-v1-capability-snapshot__item span,
.ef-v1-capability-snapshot__item small,
.ef-v1-capability-snapshot__scope { color: var(--ef-primitive-color-slate300); font-family: var(--ef-primitive-font-family-mono); font-size: var(--ef-primitive-font-size-caption); line-height: 1.45; }
.ef-v1-capability-snapshot__item span { color: var(--ef-primitive-color-blue-v1-muted); text-transform: uppercase; }
.ef-v1-capability-snapshot__scope { margin-block: auto var(--ef-primitive-space-6); padding-block-start: var(--ef-primitive-space-6); }

@media (max-width: 900px) {
	.ef-v1-capability__canvas { grid-template-columns: minmax(0, 1fr) 14.5rem; }
	.ef-v1-capability-connector { grid-template-columns: 1fr; gap: var(--ef-primitive-space-2); }
	.ef-v1-capability-connector strong,
	.ef-v1-capability-connector small { text-align: start; }
}

@media (max-width: 640px) {
	.ef-v1-capability { padding-block: var(--ef-primitive-space-16); }
	.ef-v1-capability__canvas { display: block; }
	.ef-v1-capability__map { padding: var(--ef-primitive-space-4); grid-template-columns: 1fr; grid-template-areas: "process" "materials" "connector" "precision" "quality"; }
	.ef-v1-capability-snapshot { margin-block-start: var(--ef-primitive-space-4); }
}
