/* Work, case-study and Products page layer (owner: page-work, workstream C). Arranges components only.
   Contract (test-enforced): every selector starts with .ci-work-; tokens only; no custom-property definitions. */
.ci-work-title { margin-bottom: var(--ci-space-stack); }

/* One muted sentence between a section heading and its list (Work, Products). */
.ci-work-intro { max-width: var(--ci-width-intro); margin: calc(var(--ci-space-3) - var(--ci-space-stack)) 0 var(--ci-space-stack); color: var(--ci-color-text-muted); }

/* Case study, Evidence block: sub-groups (evaluation, public links) and the honest empty line. */
.ci .ci-work-subtitle { margin: var(--ci-space-5) 0 var(--ci-space-2); font-size: var(--ci-text-body); font-weight: var(--ci-weight-bold); }
.ci-work-links { display: grid; gap: var(--ci-space-2); }
.ci-work-links a { display: inline-flex; align-items: center; min-height: var(--ci-target-touch); overflow-wrap: anywhere; }
.ci-work-note { color: var(--ci-color-text-muted); }

/* M6.5 Technical Labs: compact cards, two or three to a row, visibly lighter than project cards. */
.ci-work-labs { display: grid; gap: var(--ci-space-4); }
@media (min-width: 40em) { .ci-work-labs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .ci-work-labs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* M6.5 type filter: native radios (keyboard: arrow keys in the group) styled as pills; CSS :has() only, no script.
   The input stays focusable but invisible; its pill shows the focus ring and the checked state. */
.ci-work-filter { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ci-space-2); margin: var(--ci-space-5) 0 0; padding: 0; border: 0; }
.ci-work-filter__legend { float: left; margin-inline-end: var(--ci-space-2); color: var(--ci-color-text-muted); font-size: var(--ci-text-meta); font-weight: var(--ci-weight-semibold); }
.ci-work-filter__input { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ci-work-filter__option { display: inline-flex; align-items: center; gap: var(--ci-space-2); min-height: var(--ci-target-touch); padding: 0 var(--ci-space-4); border: var(--ci-border-width) solid var(--ci-color-border-control); border-radius: var(--ci-radius-pill); background: var(--ci-color-surface); color: var(--ci-color-text); font-size: var(--ci-text-body-sm); font-weight: var(--ci-weight-medium); cursor: pointer; }
.ci-work-filter__count { color: var(--ci-color-text-muted); font-size: var(--ci-text-meta); font-variant-numeric: tabular-nums; }
.ci-work-filter__input:checked + .ci-work-filter__option { border-color: var(--ci-color-action); background: var(--ci-color-action); color: var(--ci-color-text-on-action); }
.ci-work-filter__input:checked + .ci-work-filter__option .ci-work-filter__count { color: var(--ci-color-text-on-action); }
.ci-work-filter__input:focus-visible + .ci-work-filter__option { outline: var(--ci-focus-width) solid var(--ci-color-focus); outline-offset: var(--ci-focus-offset); }
.ci-work-lib:has(#work-type-software:checked) [data-type]:not([data-type="software"]),
.ci-work-lib:has(#work-type-research:checked) [data-type]:not([data-type="research"]),
.ci-work-lib:has(#work-type-lab:checked) [data-type]:not([data-type="lab"]) { display: none; }
.ci-work-lib:has(#work-type-software:checked) .ci-work-group:not(:has([data-type="software"])),
.ci-work-lib:has(#work-type-research:checked) .ci-work-group:not(:has([data-type="research"])),
.ci-work-lib:has(#work-type-lab:checked) .ci-work-group:not(:has([data-type="lab"])) { display: none; }
