/* Uses the site's existing Barlow font; no font or image downloads. */
.cf-capability {
    box-sizing: border-box;
    min-width: 0;
    color: var(--cf-capability-ink, #0b2133);
    font-family: "Barlow", Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.cf-capability *, .cf-capability *::before, .cf-capability *::after { box-sizing: border-box; }
.cf-capability--dark, [data-cf-capability-theme="dark"] {
    --cf-capability-ink: #f8f6f0;
    --cf-capability-muted: #d0d9df;
    --cf-capability-paper: #102c42;
    --cf-capability-border: #728898;
    --cf-capability-gold: #f1ce75;
    --cf-capability-highlight: #203d50;
}
.cf-capability-heading { margin: 0 0 .75rem; color: inherit; font-size: clamp(1.3rem, 3vw, 1.75rem); line-height: 1.2; }
.cf-capability-note { margin: .6rem 0 1rem; color: var(--cf-capability-muted, #425566); font-size: .95rem; }
.cf-capability-description { margin: .4rem 0; white-space: pre-line; }
.cf-capability-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
.cf-capability-skill { display: grid; gap: .35rem; margin: .6rem 0; }
.cf-capability-skill__label { font-weight: 700; }
.cf-capability-skill__caption { font-size: .9rem; font-weight: 600; }
.cf-capability-skill__reading { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem .8rem; }
.cf-capability-skill__segments { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .25rem; width: 8.75rem; max-width: 100%; }
.cf-capability-skill__segment { height: .7rem; border: 1px solid var(--cf-capability-border, #677888); background: transparent; }
.cf-capability-skill__segment--filled { border-style: solid; border-color: var(--cf-capability-ink, #0b2133); background: var(--cf-capability-gold, #d6b465); }
.cf-capability-skill__value { font-size: .95rem; font-variant-numeric: tabular-nums; }
.cf-capability-methods, .cf-capability-preview { margin-block: 1.5rem; }
.cf-capability-methods__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
    gap: .8rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.cf-capability-method {
    position: relative;
    min-width: 0;
    padding: 1rem 1rem 1rem 1.25rem;
    border: 1px solid var(--cf-capability-border, #677888);
    border-inline-start: .25rem solid var(--cf-capability-border, #677888);
    background: var(--cf-capability-paper, #f8f6f0);
    color: inherit;
}
.cf-capability-method__title, .cf-capability-profile__title { margin: 0; color: inherit; font-size: 1.1rem; line-height: 1.3; }
.cf-capability-method__membership { margin: .75rem 0 .25rem; font-size: .9rem; color: var(--cf-capability-muted, #425566); }
.cf-capability-method__inclusion { margin: .25rem 0 0; font-weight: 700; }
.cf-capability-method--included { border-inline-start-color: var(--cf-capability-gold, #d6b465); background: var(--cf-capability-highlight, #f4ead1); }
.cf-capability-profile { padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid var(--cf-capability-border, #677888); background: var(--cf-capability-paper, #f8f6f0); }
.cf-capability-profile__header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.cf-capability-profile__header > div { min-width: 0; }
.cf-capability-profile__avatar { display: block; flex: 0 0 auto; width: 5.5rem; height: 7rem; max-width: 30%; object-fit: contain; }
.cf-capability-eyebrow { margin: 0 0 .35rem; color: inherit; font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.cf-capability-profile__list { margin: 0; padding-inline-start: 1.75rem; }
.cf-capability-profile__item { padding: .8rem .25rem; border-top: 1px solid var(--cf-capability-border, #677888); }
.cf-capability-profile__item::marker { font-weight: 700; }
.cf-capability-preview__controls { min-width: 0; margin: 1rem 0; padding: 0; border: 0; }
.cf-capability-preview__controls legend { padding: 0 0 .5rem; font-weight: 700; color: inherit; }
.cf-capability-preview__choices { display: flex; flex-wrap: wrap; gap: .6rem; }
.cf-capability-preview__choice { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; padding: .6rem 1rem; border: 1px solid var(--cf-capability-border, #677888); background: var(--cf-capability-paper, #f8f6f0); cursor: pointer; }
.cf-capability-preview__radio { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; margin: 0; accent-color: var(--cf-capability-ink, #0b2133); }
.cf-capability-preview__radio:checked + span { font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.cf-capability-preview__choice:focus-within { outline: 3px solid var(--cf-capability-ink, #0b2133); outline-offset: 3px; }
.cf-capability-preview__radio:focus-visible { outline: 2px solid var(--cf-capability-ink, #0b2133); outline-offset: 3px; }
.cf-capability-preview__summary { margin: .75rem 0 1rem; padding: .75rem 1rem; border-inline-start: .25rem solid var(--cf-capability-gold, #d6b465); background: var(--cf-capability-paper, #f8f6f0); }
@media (max-width: 30rem) {
    .cf-capability-methods__list { grid-template-columns: minmax(0, 1fr); }
    .cf-capability-profile__header { gap: .65rem; }
    .cf-capability-preview__choice { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
    .cf-capability, .cf-capability *, .cf-capability *::before, .cf-capability *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
    .cf-capability-skill__segment--filled { forced-color-adjust: none; background: CanvasText; border-color: CanvasText; }
    .cf-capability-method--included { border-inline-start-color: Highlight; }
}
