/* Capability-only extension of the approved ESI navy / ivory / cobalt system. */
.capability-page{--cap-blue:#428fff;--cap-copy:#c3cfdf;--cap-line:#2a496d;background:#06172d;color:#f4f0e8}
.cap-shell{width:100%;max-width:1560px;margin:auto;padding:0 clamp(20px,4.5vw,72px)}
.capability-page .breadcrumbs{max-width:1560px;flex-wrap:wrap;font-size:.875rem}
.capability-page .route-next{display:none}
.cap-nav{border-block:1px solid var(--cap-line);background:#081c36}
.cap-nav .cap-shell{display:flex;gap:10px;flex-wrap:wrap;padding-block:14px;align-items:center}
.cap-nav a{font-size:.875rem;line-height:1.4;text-decoration:none;padding:12px 15px;border:1px solid #28496f;color:#c5d5e9;min-height:44px}
.cap-nav a:first-child{border-color:transparent;padding-left:0;margin-right:auto}
.cap-nav a[aria-current]{color:white;background:#123d7b;border-color:#4d95f9}
.cap-nav a:hover,.cap-nav a:focus-visible{color:white;border-color:#6aacff}
.cap-hero{padding:clamp(32px,4vw,60px) 0;background:radial-gradient(ellipse at 85% 20%,#143d79 0,transparent 60%),#06172d;border-bottom:1px solid var(--cap-line)}
.cap-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.capability-page .cap-kicker{display:block;font:500 .875rem/1.6 var(--font-mono);letter-spacing:.075em;text-transform:uppercase;color:#69a8ff;margin:0 0 16px}
.capability-page h1{font:500 clamp(2.8rem,4.7vw,5.3rem)/1.08 var(--font-display);letter-spacing:-.025em;max-width:none;margin:0 0 24px;text-wrap:balance}
.capability-page h1 em{display:block;color:var(--cap-blue);font-weight:400}
.capability-page p,.capability-page li{font-size:1rem;line-height:1.75;color:var(--cap-copy)}
.capability-page .cap-lead{font-size:clamp(1.12rem,1.35vw,1.25rem);line-height:1.65;color:#f1f4f9;margin:0 0 16px}
.cap-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin:26px 0 0}
.cap-actions .button{min-height:50px;padding:16px 22px;font-size:1rem}
.cap-text-link{font-size:1rem;color:#dceaff;text-underline-offset:6px}
.cap-photo{margin:0;position:relative;min-width:0}
.cap-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.cap-photo figcaption{font-size:.875rem;color:#b8cee8;padding:12px 0;border-bottom:1px solid var(--cap-line);line-height:1.6}
.cap-hero .cap-photo img{border-radius:2px;box-shadow:0 22px 70px #020b1c}
.cap-signal{position:relative;isolation:isolate;padding:24px 0 8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cap-signal:before{content:"";position:absolute;z-index:-1;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,#1c4b96,#65aeff,#1c4b96);transform-origin:left;animation:cap-connect 3.5s ease-out 1}
.cap-signal span{display:flex;justify-content:center;align-items:center;text-align:center;background:#0b2446;border:1px solid #3d6dad;color:#dbeaff;padding:12px 8px;font-size:.875rem;line-height:1.45}
.cap-section{padding:clamp(36px,4.5vw,68px) 0;border-bottom:1px solid var(--cap-line)}
.capability-page :where(main) h2{font:500 clamp(2rem,3.3vw,3.6rem)/1.14 var(--font-display);letter-spacing:-.02em;max-width:none;margin:0 0 20px;text-wrap:balance}
.capability-page :where(main) h3{font:500 clamp(1.5rem,2vw,2rem)/1.2 var(--font-display);letter-spacing:-.01em;max-width:none;margin:0 0 14px}
.cap-section-intro{max-width:68rem;margin:0 0 28px}
.cap-recognition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.cap-recognition article{border-top:2px solid #3b82e8;padding:20px 0 0}
.cap-recognition h3{font:650 1.12rem/1.5 var(--font-sans);color:#eef5ff}
.cap-recognition p{margin:0}
.cap-scope{background:#081c35}
.cap-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cap-scope-card{background:#0c2546;border:1px solid #30547e;padding:clamp(22px,2.6vw,34px)}
.cap-scope-card p{margin:0 0 18px}
.cap-scope-card details{border-top:1px solid #365779;padding-top:14px}
.cap-scope-card summary{cursor:pointer;color:#9dc6ff;font-size:1rem;line-height:1.5;padding:8px 0;min-height:44px}
.cap-scope-card summary:hover{color:#fff}
.cap-scope-card details[open] summary{color:#fff}
.cap-scope-card ul{padding-left:22px;margin:10px 0 0}.cap-scope-card li{padding-left:4px;margin:6px 0}
.cap-feature-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.cap-feature-grid .cap-photo img{aspect-ratio:4/3}
.cap-feature-copy p{margin:0 0 18px}
.cap-pull{border-left:3px solid #428fff;padding:18px 22px;background:#0c274c;margin:24px 0;font-size:1.12rem!important;color:#f1f4fa!important}
.cap-team{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:32px;padding:clamp(22px,3vw,36px);background:#0a203e;border:1px solid #30537c;align-items:center}
.cap-team p{margin:0 0 14px}.cap-team h3{font-size:1.7rem}
.cap-team-network{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:20px;border-top:2px solid #428fff}
.cap-team-network span{padding:14px;background:#10305a;border-left:2px solid #529bff;font-size:.95rem;line-height:1.5;color:#e4efff}
.cap-outcomes{background:radial-gradient(ellipse at 0 100%,#113e80 0,transparent 65%),#081c38}
.cap-outcomes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cap-outcomes-grid article{padding:24px;background:#0c274a;border:1px solid #345982}
.cap-outcomes-grid p{margin:0}.cap-outcomes-grid h3{font-size:1.65rem}
.cap-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.cap-gallery img{aspect-ratio:16/9}
.cap-linked-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}
.cap-linked-grid a{display:flex;flex-direction:column;gap:12px;padding:22px;background:#0a2344;border:1px solid #31547b;text-decoration:none}
.cap-linked-grid strong{font-size:1.08rem;line-height:1.5;color:#fff}.cap-linked-grid span{font-size:.95rem;line-height:1.6;color:#bdd0e7}.cap-linked-grid b{font-size:.875rem;color:#8cbdff;margin-top:auto;padding-top:12px}
.cap-linked-grid a:hover,.cap-linked-grid a:focus-visible{background:#113465;border-color:#62a4ff}
.cap-conditions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--cap-line);padding-top:22px;margin-top:28px}.cap-conditions>span{font-size:.95rem;color:#c3cfdf;margin-right:8px}.cap-conditions a{font-size:.95rem;padding:10px 14px;border:1px solid #3b5a7d;text-decoration:none;color:#dbeaff}
.cap-questions{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.cap-questions details{border-top:1px solid #42618b;padding-top:12px}.cap-questions summary{font-size:1.1rem;font-weight:600;cursor:pointer;padding:12px 0;line-height:1.5;color:#eef4fd}.cap-questions p{margin:8px 0 0}
.cap-close{padding:clamp(36px,5vw,76px) 0;background:radial-gradient(ellipse at 100% 90%,#1555d0 0,transparent 72%),#0a244b}
.cap-close-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:36px;align-items:center}.cap-close h2{margin:0}.cap-close p{margin:0}.cap-close .cap-actions{margin-top:22px}
.capability-page :focus-visible{outline:3px solid #91c3ff;outline-offset:5px}.capability-page [id]{scroll-margin-top:110px}
@keyframes cap-connect{from{transform:scaleX(0);opacity:.2}to{transform:scaleX(1);opacity:1}}
@media(max-width:1100px){.cap-hero-grid,.cap-feature-grid{gap:28px}.capability-page h1{font-size:clamp(2.8rem,5.4vw,4.5rem)}.cap-linked-grid{grid-template-columns:1fr 1fr}.cap-nav a:first-child{flex-basis:100%;margin:0}.cap-team{grid-template-columns:1fr}}
@media(max-width:800px){.cap-hero-grid,.cap-feature-grid,.cap-close-grid{grid-template-columns:1fr}.capability-page h1{font-size:clamp(2.65rem,8.6vw,4.5rem)}.cap-hero .cap-photo{max-width:680px}.cap-recognition,.cap-outcomes-grid{grid-template-columns:1fr}.cap-recognition{gap:18px}.cap-scope-grid{grid-template-columns:1fr}.cap-questions{grid-template-columns:1fr}.cap-nav a{flex:1 1 145px}.cap-nav a:first-child{flex:1 1 100%}.cap-gallery{gap:14px}}
@media(max-width:480px){.cap-signal{grid-template-columns:1fr 1fr;gap:10px}.cap-signal:before{display:none}.cap-actions{align-items:stretch;flex-direction:column}.cap-actions a{text-align:center}.cap-linked-grid,.cap-gallery{grid-template-columns:1fr}.cap-team-network{gap:10px}.cap-team-network span{padding:12px;font-size:.875rem}.capability-page :where(main) h2{font-size:2.15rem}.cap-nav a{padding:10px;font-size:.875rem}.cap-photo img{aspect-ratio:auto}.cap-gallery img{aspect-ratio:16/9}}
@media(prefers-reduced-motion:reduce){.cap-signal:before{animation:none}.capability-page *{scroll-behavior:auto!important;transition:none!important}}
