/* Services: one list, one active media/detail panel. */
.home-capabilities { padding-block:var(--space-7); border-bottom:var(--border-width) solid var(--color-border); }
.capabilities-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.2fr) auto; gap:var(--space-8); align-items:center; margin-bottom:var(--space-6); }
.capabilities-heading > p { color:var(--color-text-secondary); }
.capabilities-heading .home-link { justify-self:end; }
.capabilities-list { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr); grid-template-rows:repeat(4,auto) 1fr; gap:0 var(--space-8); }
.home-capability { display:contents; }
.capability-heading { grid-column:1; }
.home-capability:nth-child(1) .capability-heading { grid-row:1; }
.home-capability:nth-child(2) .capability-heading { grid-row:2; }
.home-capability:nth-child(3) .capability-heading { grid-row:3; }
.home-capability:nth-child(4) .capability-heading { grid-row:4; }
.capability-trigger { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:var(--space-3); width:100%; min-height:var(--control-height); padding:var(--space-4) var(--space-2); border:0; border-top:var(--border-width) solid var(--color-border); background:transparent; text-align:left; font-size:var(--type-small) !important; }
.capability-name { font-weight:var(--font-weight-roman); letter-spacing:0; }
.capability-number { font-weight:var(--font-weight-roman); }
.home-capability.is-open .capability-trigger { box-shadow:inset var(--space-1) 0 var(--color-accent); }
.home-capability.is-open .capability-name { font-weight:var(--font-weight-medium); }
.capability-panel { grid-column:2; grid-row:1 / 6; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:var(--space-6); align-items:stretch; min-width:0; }
.capability-panel[hidden] { display:none; }
.capability-media { position:relative; min-width:0; min-height:230px; }
.capability-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.capability-description { min-width:0; }
.capability-description h4 { text-transform:uppercase; font-size:var(--type-body-lg); line-height:1.2; margin-bottom:var(--space-3); position:relative; }
.capability-description h4 > span { color:var(--color-accent); font-size:var(--type-metadata); margin-right:var(--space-4); vertical-align:top; }
.capability-description > p { color:var(--color-text-secondary); line-height:1.45; }
.capability-description .ds-capability__list { margin-block:var(--space-3); padding-left:var(--space-4); font-size:var(--type-small); line-height:1.5; }
.capability-description .ds-technical-link { font-size:var(--type-small); }
.capability-trigger:disabled { cursor:default; }
html:not(.js) .capabilities-list { display:block; }
html:not(.js) .home-capability { display:block; margin-bottom:var(--space-8); }
@media(max-width:1100px) {
 .capabilities-heading { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
 .capabilities-heading .home-link { grid-column:2; justify-self:start; }
 .capabilities-list { grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:0 var(--space-6); }
 .capability-panel { grid-template-columns:1fr; }
 .capability-media { aspect-ratio:16/9; min-height:0; }
}
@media(max-width:768px) {
 .home-capabilities { padding-block:var(--space-8); }
 .capabilities-heading { grid-template-columns:1fr; gap:var(--space-4); }
 .capabilities-heading .home-link { grid-column:1; }
 .capabilities-list { display:block; }
 .home-capability { display:block; }
 .capability-trigger { min-height:56px; }
 .capability-panel { padding-block:var(--space-4) var(--space-6); gap:var(--space-5); }
}
