.specialist-modules { background: var(--color-paper-muted); }
.specialist-modules .section-intro > h2 + p { max-width: var(--content-wide); }
.specialist-groups { display: grid; gap: var(--space-24); margin-top: var(--space-16); }
.specialist-group { display: grid; gap: var(--space-12); }
.specialist-group-header { display: grid; grid-template-columns: var(--grid-step); gap: var(--space-4); max-width: var(--content-wide); padding-bottom: var(--space-6); border-bottom: var(--border-strong) solid var(--color-ink); }
.specialist-group-header > div { min-width: var(--zero); }
.specialist-group-header > span { color: var(--color-signal); font-family: var(--font-mono); font-size: var(--text-sm); font-weight: var(--weight-bold); }
.specialist-group-header h3 { font-size: var(--text-xl); }
.specialist-group-header p { margin-top: var(--space-3); color: var(--color-steel); }
.specialist-module-list { display: grid; gap: var(--space-16); }
.specialist-feature { display: grid; grid-template-columns: var(--grid-product); gap: var(--space-10); align-items: center; padding-top: var(--space-8); border-top: var(--border-thin) solid var(--color-line); }
.specialist-group-construction .specialist-media-panel { order: var(--scale-base); }
.specialist-media-panel { min-width: var(--zero); }
.specialist-media { overflow: hidden; border: var(--border-thin) solid var(--color-line-premium); border-radius: var(--radius-premium); background: var(--color-ink); box-shadow: var(--shadow-card); }
.specialist-media img { width: var(--size-full); aspect-ratio: var(--specialist-media-aspect); object-fit: cover; }
.specialist-media--portrait img { aspect-ratio: var(--specialist-media-aspect-portrait); object-position: var(--specialist-portrait-position); }
.specialist-media figcaption { padding: var(--space-3) var(--space-4); border-top: var(--border-thin) solid var(--color-line-dark); background: var(--color-ink); color: var(--color-steel-dark); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--media-caption-tracking); }
.specialist-data-flow { position: relative; display: grid; grid-template-columns: var(--grid-triple); gap: var(--space-4); margin-top: var(--space-5); list-style: none; }
.specialist-data-flow::before { position: absolute; top: var(--specialist-flow-line-top); right: var(--specialist-flow-line-inset); left: var(--specialist-flow-line-inset); height: var(--border-thin); background: var(--color-line); content: ""; }
.specialist-data-flow li { position: relative; padding-top: var(--space-5); }
.specialist-data-flow li::before { position: absolute; top: var(--specialist-flow-dot-top); left: var(--zero); width: var(--specialist-flow-dot); height: var(--specialist-flow-dot); border: var(--border-strong) solid var(--color-paper-muted); border-radius: var(--radius-round); background: var(--color-signal); content: ""; }
.specialist-data-flow span, .specialist-data-flow strong { display: block; }
.specialist-data-flow span { color: var(--color-signal-deep); font-family: var(--font-mono); font-size: var(--text-xs); }
.specialist-data-flow strong { margin-top: var(--space-1); color: var(--color-ink); font-size: var(--text-xs); line-height: var(--media-caption-leading); }
.specialist-module { min-width: var(--zero); }
.specialist-module h3 { font-size: var(--text-lg); }
.specialist-module > p { margin-top: var(--space-2); color: var(--color-steel); }
.specialist-module dl { display: grid; grid-template-columns: var(--grid-double); gap: var(--space-5); margin-top: var(--space-4); }
.specialist-module dt { color: var(--color-signal-deep); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: var(--weight-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.specialist-module dd { margin-top: var(--space-2); color: var(--color-steel); font-size: var(--text-sm); line-height: var(--leading-body); }
.specialist-common { display: grid; grid-template-columns: var(--grid-triple); gap: var(--space-8); margin-top: var(--space-20); padding: var(--space-10); border-radius: var(--radius-premium); background: var(--color-ink); color: var(--color-paper); box-shadow: var(--shadow-premium-dark); }
.specialist-common > div > span { color: var(--color-signal); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: var(--weight-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.specialist-common h3 { margin-top: var(--space-3); font-size: var(--text-xl); }
.specialist-common ul { display: grid; gap: var(--space-3); list-style: none; }
.specialist-common li { position: relative; padding-left: var(--space-6); color: var(--color-steel-dark); }
.specialist-common li::before { position: absolute; top: var(--space-3); left: var(--zero); width: var(--space-3); height: var(--border-strong); background: var(--color-signal); content: ""; }
.specialist-common > p { color: var(--color-steel-dark); font-size: var(--text-sm); }
