.capability-card{position:relative;overflow:hidden;cursor:pointer;transition:background-color .3s var(--ease),box-shadow .3s var(--ease)}
.capability-card .capability-detail{display:none}
.capability-card:after{content:"↗  Expand";position:absolute;z-index:2;left:14px;bottom:12px;padding:6px 9px;background:rgba(8,29,52,.88);border:1px solid rgba(255,255,255,.2);color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:.54rem;opacity:0;transform:translateY(4px);transition:opacity .25s var(--ease),transform .25s var(--ease)}
.capability-card:hover,.capability-card:focus-visible{z-index:2;background-color:#153e70;box-shadow:inset 0 0 0 1px rgba(127,162,255,.55)}
.capability-card:hover:after,.capability-card:focus-visible:after{opacity:1;transform:none}
.capability-card:focus-visible{outline:3px solid #7fa2ff;outline-offset:-3px}
.capability-card:hover img{filter:saturate(.95) contrast(1.04)}
.capability-modal[hidden]{display:none}.capability-modal{position:fixed;z-index:750;inset:0;display:grid;place-items:center;padding:24px}
.capability-modal-backdrop{position:absolute;inset:0;background:rgba(3,12,24,.9);backdrop-filter:blur(9px)}
.capability-modal-dialog{position:relative;width:min(1080px,100%);max-height:calc(100dvh - 48px);overflow:hidden;display:grid;grid-template-columns:72px minmax(0,1.35fr) minmax(280px,.65fr);background:#123c71;color:#fff;border:1px solid rgba(255,255,255,.24);box-shadow:0 32px 100px rgba(0,0,0,.56)}
.capability-modal-close{position:absolute;z-index:4;right:14px;top:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);background:#081d34;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer}.capability-modal-close:hover,.capability-modal-close:focus-visible{background:var(--blue)}
.capability-modal-index{padding:42px 12px;font-family:var(--display);font-size:2.2rem;color:#7fa2ff;text-align:center}
.capability-modal-copy{max-height:calc(100dvh - 48px);overflow:auto;padding:42px 34px 74px 16px;scrollbar-color:#7fa2ff #123c71}
.capability-modal-copy .capability-kicker{color:#9ab4ff;margin:0 0 12px}.capability-modal-copy h3{max-width:700px;margin:0 0 20px;font-family:var(--display);font-size:clamp(2.15rem,4vw,3.5rem);line-height:.94;text-transform:uppercase}.capability-modal-copy p{max-width:720px;color:#c7d3df}.capability-modal-copy .capability-detail{display:block;max-height:none;margin-top:18px!important;opacity:1;overflow:visible;transform:none}.capability-modal-copy ul,.capability-modal-copy ul.capability-detail{display:flex;max-height:none;flex-wrap:wrap;gap:8px 22px;padding:0;margin:24px 0 0!important;opacity:1;overflow:visible;transform:none;list-style:none}.capability-modal-copy li{color:#e0e8f0;text-transform:uppercase;letter-spacing:.07em;font-size:.68rem}.capability-modal-copy li:before{content:"+";margin-right:7px;color:#7fa2ff}.capability-modal-copy .signature-line{display:block;color:#fff}
.capability-modal-media{min-height:0;margin:0;background:#081d34}.capability-modal-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.05)}
.capability-modal-collapse{position:absolute;z-index:4;left:88px;bottom:18px;min-height:38px;padding:0 14px;border:1px solid rgba(255,255,255,.3);background:#081d34;color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:.58rem;font-weight:700;cursor:pointer}.capability-modal-collapse:hover,.capability-modal-collapse:focus-visible{background:var(--blue)}
@media(max-width:780px){.capability-modal{padding:12px}.capability-modal-dialog{max-height:calc(100dvh - 24px);grid-template-columns:52px 1fr;grid-template-rows:minmax(0,1fr) 220px}.capability-modal-index{padding:30px 8px;font-size:1.65rem}.capability-modal-copy{max-height:none;padding:30px 48px 72px 10px}.capability-modal-copy h3{font-size:clamp(2.2rem,11vw,3.5rem)}.capability-modal-media{grid-column:1/-1}.capability-modal-close{right:8px;top:8px}.capability-modal-collapse{left:64px;bottom:234px}}
@media(max-width:680px){.capability-card:after{opacity:1;transform:none}.capability-modal-dialog{grid-template-rows:minmax(0,1fr) 160px}.capability-modal-copy{font-size:.86rem}.capability-modal-copy ul{display:block}.capability-modal-copy li+li{margin-top:6px}.capability-modal-collapse{bottom:174px}}
@media(prefers-reduced-motion:reduce){.capability-card,.capability-card:after{transition:none}}
