/* Service capabilities: one connected visual, three concrete applications. */
.d-capabilities{position:relative;padding-top:110px;padding-bottom:100px;scroll-margin-top:40px}
.d-legacy-anchor{position:absolute;top:0;scroll-margin-top:40px}
.d-capabilities-heading h2{margin:0}
.d-capabilities-heading>p{font-size:18px;line-height:2;font-weight:600;margin:25px 0 0;max-width:42em}
.d-capabilities-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,6vw,100px);align-items:start;margin-top:64px}
.d-tech-stage{position:sticky;top:100px;isolation:isolate;aspect-ratio:520/680;margin:0;background:#11241e;color:#fff;overflow:hidden;border-radius:8px 60px 8px 8px}
.d-tech-stage-top{display:flex;justify-content:space-between;gap:12px;position:absolute;z-index:5;top:30px;left:28px;right:28px;font:700 10px/1.5 var(--font-site);letter-spacing:.07em}
.d-tech-stage-top>span:first-child{display:flex;align-items:center;gap:8px}
.d-tech-stage-top i{width:6px;height:6px;border-radius:50%;background:#4de3ad;box-shadow:0 0 12px #4de3ad66}
.d-tech-grid{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(160deg,#000,transparent 85%)}
.d-tech-orbit{position:absolute;top:17%;left:-15%;width:82%;aspect-ratio:1;border:1px solid #42cf9838;border-radius:50%;background:radial-gradient(circle,#1d7d634d,transparent 68%);z-index:-1}
.d-tech-orbit::before,.d-tech-orbit::after{content:"";position:absolute;inset:9%;border:1px solid #42cf9820;border-radius:50%}
.d-tech-orbit::after{inset:22%;border-color:#42cf9828}
.d-tech-character{position:absolute;z-index:2;left:-10%;top:18%;width:76%;height:67%;object-fit:contain;filter:drop-shadow(0 18px 16px #0004);transform-origin:50% 80%}
.d-tech-routes{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke-width:1.5;stroke-linecap:round;z-index:1}
.d-tech-tracks{stroke:#4f7e6d}
.d-tech-signals{stroke:#7affc6;stroke-width:3;filter:drop-shadow(0 0 4px #4de3ad);stroke-dasharray:5 95;stroke-dashoffset:0;opacity:0}
.d-tech-node{position:absolute;right:5%;width:30%;min-height:94px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:17px 16px;background:#1b342b;border:1px solid #52816c;border-radius:9px;z-index:3;box-shadow:0 8px 20px #0002}
.d-tech-node>span{position:absolute;top:-10px;right:13px;padding:2px 7px;border-radius:4px;background:#4de3ad;color:#11241e;font:700 10px/1.4 var(--font-site)}
.d-tech-node strong{font:800 clamp(18px,2vw,30px)/1 var(--font-site);letter-spacing:-.025em}
.d-tech-node small{font-size:12px;font-weight:650;margin-top:10px;white-space:nowrap}
.d-tech-node-work{top:18%}.d-tech-node-ai{top:39%}.d-tech-node-app{top:60%}
.d-tech-stage figcaption{position:absolute;left:32px;right:25px;bottom:32px;font-size:15px;font-weight:650;line-height:1.7;z-index:4}
.d-tech-stage figcaption strong{display:block;font-size:clamp(27px,2.5vw,40px);font-weight:850;line-height:1.4;letter-spacing:-.03em;margin-top:3px}
.d-capability-list{display:grid;gap:50px;padding:4px 0}
.d-capability-label{display:flex;align-items:center;gap:13px;margin-bottom:17px}
.d-capability-label>span{font:800 15px/1 var(--font-site);color:var(--green)}
.d-capability-label>p{font-size:15px;font-weight:800;line-height:1.5;margin:0;color:var(--green)}
.d-capability h3{font-size:clamp(27px,2.7vw,40px);font-weight:850;letter-spacing:-.045em;line-height:1.45;margin:0 0 17px}
.d-capability>p{font-size:17px;line-height:1.95;font-weight:600;max-width:33em;margin:0}
.d-capability ul{display:flex;flex-wrap:wrap;gap:7px 20px;list-style:none;margin:20px 0 0;padding:0}
.d-capability li{font-size:13px;line-height:1.7;font-weight:650;color:#42534c}
.d-capability li::before{content:"";display:inline-block;vertical-align:middle;width:5px;height:5px;border-radius:50%;background:var(--green);margin-right:7px}
.d-capability-link{display:flex;align-items:center;justify-content:space-between;gap:20px;width:fit-content;max-width:100%;min-height:48px;margin-top:19px;padding:8px 0;font-size:15px;font-weight:750;line-height:1.8;text-decoration:none;color:var(--ink)}
.d-capability-link svg{width:32px;height:32px;flex-shrink:0;padding:7px;border:1px solid var(--ink);border-radius:50%;transition:background .2s,color .2s,translate .2s}
.d-capability-link:hover svg{background:var(--green);color:white;translate:3px 0}
.d-capability-link:focus-visible{outline:3px solid var(--green);outline-offset:6px;border-radius:3px}
.d-tech-stack{display:flex;align-items:center;flex-wrap:wrap;gap:20px 48px;margin-top:65px;padding:28px 32px;background:#f1f5f2;border-radius:8px}
.d-tech-stack>p{font-size:15px;line-height:1.8;font-weight:750;margin:0}
.d-tech-stack ul{list-style:none;display:flex;flex-wrap:wrap;gap:14px 24px;margin:0;padding:0}
.d-tech-stack li{font:650 15px/1.5 var(--font-site);color:#33473e}
.motion-on .d-tech-stage.is-visible .d-tech-signals{opacity:1}
.motion-on .d-tech-stage.is-visible .d-tech-signals path{animation:tech-signal 5s linear infinite}
.motion-on .d-tech-stage.is-visible .d-tech-signals path:nth-child(2){animation-delay:-1.7s}
.motion-on .d-tech-stage.is-visible .d-tech-signals path:nth-child(3){animation-delay:-3.4s}
.motion-on .d-tech-stage.is-visible .d-tech-character{animation:tech-character 7s ease-in-out infinite}
.motion-on .d-tech-stage.is-visible .d-tech-node{animation:tech-node 6s ease-in-out infinite}
.motion-on .d-tech-stage.is-visible .d-tech-node-ai{animation-delay:-2s}
.motion-on .d-tech-stage.is-visible .d-tech-node-app{animation-delay:-4s}
@keyframes tech-signal{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes tech-character{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -7px;rotate:-.6deg}}
@keyframes tech-node{0%,60%,100%{border-color:#52816c;box-shadow:0 8px 20px #0002}25%{border-color:#7affc6;box-shadow:0 0 18px #4de3ad24}}
@media(min-width:1600px){.d-tech-stage{max-height:820px}}
@media(max-width:1100px){.d-capabilities-layout{gap:40px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.d-capability-list{gap:42px}.d-capability h3{font-size:29px}.d-capability>p{font-size:16px}.d-tech-stage-top{font-size:8px;left:20px;right:20px;top:23px}.d-tech-node{padding:13px 11px;min-height:78px;width:32%;right:4%}.d-tech-node small{font-size:10px;margin-top:8px}.d-tech-stage figcaption{left:23px;bottom:25px;font-size:12px}.d-tech-stage figcaption strong{font-size:27px}}
@media(max-width:800px){.d-capabilities{padding-top:75px;padding-bottom:75px}.d-capabilities-heading>p{font-size:16px;line-height:2}.d-capabilities-layout{grid-template-columns:1fr;gap:44px;margin-top:40px}.d-tech-stage{position:relative;top:auto;aspect-ratio:1.2;max-height:450px;width:100%;border-top-right-radius:42px}.d-tech-character{top:2%;left:1%;width:54%;height:86%}.d-tech-orbit{top:8%;left:1%;width:57%}.d-tech-routes{display:none}.d-tech-node{right:8%;width:31%;min-height:70px;padding:12px 17px}.d-tech-node-work{top:17%}.d-tech-node-ai{top:42%}.d-tech-node-app{top:67%}.d-tech-node strong{font-size:22px}.d-tech-node small{font-size:11px;margin-top:6px}.d-tech-stage figcaption{font-size:12px;bottom:18px;left:26px}.d-tech-stage figcaption strong{font-size:26px}.d-tech-stage-top{left:24px;right:24px;font-size:9px;top:20px}.d-capability-list{gap:42px}.d-capability{display:grid;grid-template-columns:145px minmax(0,1fr);column-gap:22px}.d-capability-label{grid-row:1/4;align-self:start;align-items:center;flex-wrap:wrap;gap:12px;margin-top:7px}.d-capability h3{font-size:30px}.d-capability h3 br{display:none}.d-capability>p,.d-capability>ul,.d-capability>a{grid-column:2}.d-capability>p{max-width:none}.d-tech-stack{margin-top:44px;padding:24px;gap:18px}.d-tech-stack li{font-size:14px}.d-tech-stack ul{gap:12px 22px}}
@media(max-width:520px){.d-capabilities{padding-top:65px;padding-bottom:65px}.d-capabilities-heading h2{font-size:clamp(28px,8.1vw,39px);line-height:1.5}.d-capabilities-heading>p{font-size:16px;margin-top:21px}.d-capabilities-heading>p br{display:none}.d-capabilities-layout{margin-top:32px;gap:40px}.d-tech-stage{aspect-ratio:.96;border-top-right-radius:36px}.d-tech-stage-top{font-size:8px;top:18px;left:18px;right:18px;letter-spacing:.025em}.d-tech-stage-top>span:last-child{display:none}.d-tech-character{left:-8%;top:9%;width:68%;height:68%}.d-tech-orbit{top:16%;left:-10%;width:70%}.d-tech-node{right:5%;width:35%;min-height:66px;padding:13px 12px}.d-tech-node-work{top:17%}.d-tech-node-ai{top:40%}.d-tech-node-app{top:63%}.d-tech-node strong{font-size:20px}.d-tech-node small{font-size:10px}.d-tech-node>span{font-size:9px;right:8px}.d-tech-stage figcaption{left:20px;bottom:18px;font-size:11px;line-height:1.5}.d-tech-stage figcaption strong{font-size:23px}.d-capability{display:block}.d-capability-label{margin:0 0 16px;font-size:14px;gap:12px}.d-capability h3{font-size:29px;line-height:1.5;margin-bottom:16px}.d-capability h3 br{display:block}.d-capability>p{font-size:16px;line-height:1.95}.d-capability ul{margin-top:16px;gap:6px 16px}.d-capability li{font-size:12px}.d-capability-link{font-size:14px;margin-top:15px;gap:12px}.d-tech-stack{padding:25px 22px;margin-top:38px}.d-tech-stack>p{font-size:14px}.d-tech-stack li{font-size:13px}.d-tech-stack ul{gap:12px 19px}}
@media(max-width:359px){.d-capabilities-heading h2{font-size:27px}.d-capability h3{font-size:26px}.d-tech-node{min-height:58px;padding:10px}.d-tech-node strong{font-size:18px}.d-tech-node small{font-size:9px}.d-tech-stage figcaption strong{font-size:21px}.d-tech-stage figcaption{font-size:10px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.d-tech-stage *{animation:none!important}.d-tech-signals{display:none}.d-capability-link svg{transition:none}}
