:root{--cap-ink:#121313;--cap-paper:#f0eee7;--cap-white:#faf9f5;--cap-orange:#ff5c22;--cap-blue:#256fe8;--cap-lime:#d7f36a;--cap-line:rgba(18,19,19,.2);--gb-gradient-blue-gray-light:linear-gradient(108deg,#506d79 0%,#3b5e73 36%,#214d70 70%,#103d69 100%)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
.capabilities-page{margin:0;padding-top:var(--header-h,76px);background:var(--cap-paper);color:var(--cap-ink);font-family:var(--sans,sans-serif)}
.capabilities-page main{overflow:hidden}.capabilities-page .site-header{background:#181919}.capabilities-page .desktop-nav .is-current{color:#fff}
.capabilities-page .shell{width:min(1540px,calc(100% - 80px));margin-inline:auto}
.capabilities-page h1,.capabilities-page h2,.capabilities-page h3{font-family:var(--display,sans-serif);font-weight:400}
.cap-text-link{display:inline-block;color:inherit;border-bottom:1px solid;text-decoration:none;padding-bottom:5px}
.cap-heading{display:grid;grid-template-columns:3fr 9fr;gap:30px;margin-bottom:clamp(64px,8vw,130px)}.cap-heading h2{max-width:1250px;margin:0;font-size:clamp(58px,6.8vw,124px);line-height:.88;letter-spacing:-.058em}
.cap-lead{max-width:900px;margin:38px 0 0;font-size:clamp(19px,1.45vw,26px);line-height:1.4}.cap-heading--light{color:#fff}.cap-heading--light .cap-lead{color:rgba(255,255,255,.67)}
.cap-section-number{margin:10px 0 0;color:rgba(18,19,19,.48)}.cap-heading--light .cap-section-number{color:rgba(255,255,255,.46)}
.cap-catalog{background:var(--cap-paper)}.cap-catalog #catalog-title{background:none;color:#000}.service-catalog{border-bottom:1px solid var(--cap-ink)}.service-group{border-top:1px solid var(--cap-ink)}.service-group summary{display:grid;grid-template-columns:1fr 6fr 3fr auto;gap:20px;align-items:center;padding:28px 0;cursor:pointer;list-style:none}.service-group summary::-webkit-details-marker{display:none}.service-group summary>span,.service-group summary>small{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.service-group summary>small{color:#777}.service-group summary>strong{font-family:var(--display,sans-serif);font-size:clamp(30px,3vw,52px);font-weight:400}
.service-group summary i{position:relative;width:24px;height:24px}.service-group summary i::before,.service-group summary i::after{position:absolute;top:11px;left:2px;width:20px;height:1px;background:#111;content:""}.service-group summary i::after{transform:rotate(90deg);transition:transform .2s}.service-group[open] summary i::after{transform:rotate(0)}
.service-group summary{position:relative;isolation:isolate;transition:color .22s ease}
.service-group summary::before{position:absolute;z-index:-1;inset:0 -14px;content:"";background:rgba(37,111,232,.08);opacity:0;transform:scaleX(0);transform-origin:left;transition:transform .28s ease,opacity .22s ease}
.service-group summary>strong{transition:transform .22s ease}
.service-group summary>small{transition:color .22s ease}
.service-group summary i::before,.service-group summary i::after{background:currentColor}
.service-group summary:focus-visible{color:var(--cap-blue);outline:2px solid var(--cap-blue);outline-offset:5px}
.service-group summary:focus-visible::before{opacity:1;transform:scaleX(1)}
.service-group summary:focus-visible>strong{transform:translateX(6px)}
.service-group summary:focus-visible>span,.service-group summary:focus-visible>small{color:#0f5dce}
@media(hover:hover) and (pointer:fine){.service-group summary:hover{color:var(--cap-blue)}.service-group summary:hover::before{opacity:1;transform:scaleX(1)}.service-group summary:hover>strong{transform:translateX(6px)}.service-group summary:hover>span,.service-group summary:hover>small{color:#0f5dce}}
.service-group__body{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:0 0 38px 8.333%}.service-group__body article{min-height:240px;padding:26px;background:#e3e0d7}.service-group__body h3{margin:0 0 60px;font-size:clamp(26px,2.1vw,38px);line-height:.95}.service-group__body p{line-height:1.45;color:#484848}.service-group__body span{display:block;margin-top:24px;padding-top:14px;border-top:1px solid #aaa;font-size:11px;line-height:1.4;color:#666}
.capabilities-contact{padding-top:clamp(110px,11vw,190px)}.copy-feedback{position:fixed;z-index:1000;right:22px;bottom:22px;padding:12px 16px;background:#fff;color:#111;box-shadow:0 8px 30px rgba(0,0,0,.2);opacity:0;transform:translateY(10px);transition:.25s;pointer-events:none}.copy-feedback.is-visible{opacity:1;transform:none}
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.js [data-reveal].is-visible{opacity:1;transform:none}
.cap-section{padding:clamp(64px,6vw,110px) 0}
.cap-heading{margin-bottom:clamp(46px,5vw,80px)}
.cap-heading h1{max-width:1050px;margin:0;font-size:clamp(58px,6.8vw,112px);line-height:.9;letter-spacing:-.052em}
.cap-section-number{text-transform:uppercase;letter-spacing:.13em;font-size:11px}
.cap-lead{max-width:760px;font-size:clamp(18px,1.35vw,23px)}
.cap-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;padding:0 0 clamp(64px,6vw,110px)}
.cap-related a{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;border-top:1px solid var(--cap-line);color:var(--cap-ink);text-decoration:none;font-size:clamp(19px,1.6vw,27px);scroll-margin-top:calc(var(--header-h) + 24px)}
.cap-related a:hover,.cap-related a:focus-visible{color:var(--cap-blue)}
@media(max-width:1100px){.cap-heading{grid-template-columns:1fr}.service-group__body{grid-template-columns:1fr 1fr;padding-left:0}}
@media(max-width:760px){.capabilities-page .shell{width:calc(100% - 30px)}.cap-section{padding:54px 0 64px}.cap-heading{gap:24px;margin-bottom:42px}.cap-heading h1{font-size:clamp(48px,13.5vw,72px);line-height:.94}.cap-lead{margin-top:26px;font-size:18px}.service-group summary{grid-template-columns:auto 1fr auto;padding:22px 0}.service-group summary>small{display:none}.service-group summary>strong{font-size:29px}.service-group__body{grid-template-columns:1fr}.service-group__body article{min-height:220px}.cap-related{grid-template-columns:1fr;padding-bottom:64px}.capabilities-contact{padding-top:80px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.js [data-reveal]{opacity:1;transform:none}}
@media print{.site-header,.mobile-menu,.capabilities-contact{display:none!important}.js [data-reveal]{opacity:1;transform:none}.cap-section{padding:40px 0}}
