/* Revision 12 service detail page; shares the homepage's type, header and footer. */
.capabilities-page{--capability-hero-height:clamp(560px,70svh,740px)}
.capabilities-page .page-hero{min-height:var(--capability-hero-height)}
.capabilities-page .page-hero>.shell{min-height:calc(var(--capability-hero-height) - var(--header));padding-block:48px}
.capabilities-hero>.hero-media{object-position:center bottom;filter:saturate(.95)}
.capabilities-hero>.hero-overlay{background:linear-gradient(90deg,rgba(9,15,26,.8),rgba(9,15,26,.48) 48%,rgba(9,15,26,.12)),linear-gradient(0deg,rgba(9,15,26,.25),transparent 45%)}
.capabilities-hero-copy{max-width:720px}
.capabilities-hero .eyebrow{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:#fff}
.capabilities-hero .eyebrow:before{content:"";width:32px;height:2px;background:var(--red)}
.capabilities-hero h1{font-size:44px;line-height:1.14;margin-bottom:18px;letter-spacing:-.025em}
.capabilities-hero .hero-summary{max-width:670px;font-size:16px;line-height:1.65;color:#e1e7f0}
.capabilities-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:70px;align-items:start;padding-block:76px}
.capability-index{position:sticky;top:calc(var(--header) + 28px);max-height:calc(100dvh - var(--header) - 56px);overflow-y:auto;scrollbar-width:thin}
.capability-index-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--red);margin:0 0 22px}
.capability-nav{display:grid;gap:4px}
.capability-nav a{display:flex;align-items:center;gap:12px;padding:14px 12px;border-left:2px solid transparent;color:#697587;font-size:14px;line-height:1.4;transition:color .2s,background .2s,border-color .2s}
.capability-nav i{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;font-size:13px;color:#fff;background:var(--navy);text-align:center}
.capability-nav a:hover,.capability-nav a[aria-current="location"]{border-left-color:var(--red);background:var(--navy-raised);color:#fff}
.capability-nav a[aria-current="location"] i,.capability-nav a:hover i{color:#fff}
.capability-nav a:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.capability-item{scroll-margin-top:calc(var(--header) + 32px);border-bottom:1px solid #e3e7ed;margin-bottom:48px;padding-bottom:48px}
.capability-item:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.capability-heading{display:flex;align-items:center;gap:20px;margin-bottom:22px}
.capability-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex:0 0 52px;background:var(--navy);color:#fff;font-size:23px}
.capability-heading h2{margin:0;font-size:28px;line-height:1.23;font-weight:400;letter-spacing:-.02em;color:var(--ink)}
.capability-description{font-size:16px;line-height:1.8;color:#667284;margin:0 0 26px}
.capability-scope{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 30px}
.capability-scope li{position:relative;padding-left:18px;font-size:15px;line-height:1.6;color:#26374b}
.capability-scope li:before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;background:var(--red)}
.capability-note{font-size:13px;line-height:1.7;color:#6a7584;margin:28px 0 0;padding:14px 18px;border-left:2px solid var(--red);background:#f5f7fa}
.capabilities-page .quote-band{background:#f5f7fa}
.capabilities-page .mobile-menu .language-switch{display:flex;padding:18px 0 0;gap:8px}
.capabilities-page .mobile-menu .lang{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:0;opacity:.6;cursor:pointer}
.capabilities-page .mobile-menu .lang.active{opacity:1}
.capabilities-page .mobile-menu .lang img{width:24px;height:15px;object-fit:cover}
.capabilities-page .mobile-menu .lang:focus-visible{outline:2px solid #fff;outline-offset:2px}
.capabilities-page .mobile-menu nav a{font-size:clamp(20px,5vw,28px);line-height:1.3}
.capabilities-page .mobile-meta{flex-wrap:wrap;gap:8px 20px;margin-top:18px}
@media(max-width:1000px){.capabilities-layout{grid-template-columns:205px minmax(0,1fr);gap:40px}.capability-nav a{font-size:13px;padding-inline:9px;gap:9px}.capability-heading h2{font-size:26px}.capability-scope{gap:16px 22px}}
@media(max-width:820px){
  .capabilities-page{--capability-hero-height:clamp(540px,78svh,660px)}
  .capabilities-page .page-hero>.shell{padding-block:40px}
  .capabilities-hero>.hero-media{object-position:62% bottom}
  .capabilities-hero h1{font-size:34px}
  .capabilities-hero .hero-summary{font-size:15px}
  .capabilities-layout{display:block;padding-block:0 48px}
  .capability-index{z-index:15;top:var(--header);max-height:none;overflow:visible;background:rgba(255,255,255,.97);padding:12px 0;border-bottom:1px solid #e3e7ed;backdrop-filter:blur(8px)}
  .capability-index-label{display:none}
  .capability-nav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:3px 2px}
  .capability-nav::-webkit-scrollbar{display:none}
  .capability-nav a{flex:0 0 auto;white-space:nowrap;padding:10px 13px;border-left:0;border-bottom:2px solid transparent;font-size:12px}
  .capability-nav a:hover,.capability-nav a[aria-current="location"]{border-bottom-color:var(--red)}
  .capability-details{padding-top:40px}
  .capability-item{scroll-margin-top:calc(var(--header) + 96px);margin-bottom:38px;padding-bottom:38px}
}
@media(max-width:560px){.capabilities-hero h1{font-size:30px}.capabilities-hero .hero-summary{font-size:14px;line-height:1.65}.capability-heading{gap:14px;align-items:flex-start}.capability-icon{width:42px;height:42px;flex-basis:42px;font-size:20px}.capability-heading h2{font-size:23px}.capability-scope{grid-template-columns:1fr;gap:14px}.capability-description{font-size:15px}.capability-scope li{font-size:14px}}
@media(prefers-reduced-motion:reduce){.capability-nav a{transition:none}}
