.capability-page{padding-bottom:80px}.capability-intro{padding:28px 0 48px;max-width:1080px}.capability-intro-copy{min-width:0}.capability-intro h1{font-size:clamp(44px,6.5vw,96px);line-height:1.05;font-weight:500;letter-spacing:-.035em;overflow-wrap:anywhere;max-width:20ch;margin:22px 0}.capability-intro>p:not(.eyebrow){max-width:76ch;font-size:16px;line-height:1.8}.capability-intro>.capability-scope{font-size:12px;color:var(--muted);margin-top:20px}.capability-tags{display:flex;flex-wrap:wrap;gap:10px 20px;padding:0;margin:24px 0;list-style:none}.capability-tags li{font-size:10px;letter-spacing:1px;color:var(--sage-text)}.capability-row{display:grid;grid-template-columns:64px minmax(0,1.4fr) minmax(0,1fr);grid-gap:36px;gap:36px;padding:40px 0;border-top:1px solid var(--line)}.capability-number{font-family:var(--display);font-size:32px;color:var(--accent)}.capability-row h2{font-size:clamp(26px,3vw,40px);line-height:1.12;margin-bottom:16px}.capability-row p{font-size:13px;line-height:1.8}.capability-evidence{border-left:1px solid var(--line);padding-left:32px}.capability-evidence .micro{margin:20px 0 8px;font-size:9px}.capability-evidence a{font-size:12px;line-height:1.6}.capability-page a:not(.text-link):hover{color:var(--accent)}.capability-page a:focus-visible,.capability-table:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.capability-contents{display:flex;flex-wrap:wrap;gap:18px 24px;border-block:1px solid var(--line);padding:20px 0}.capability-contents a{font-size:10px;letter-spacing:1px}.capability-path{padding:36px 0}.capability-flow{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:12px 30px;margin:24px 0 0}.capability-flow li{position:relative;display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--architecture-line);color:var(--architecture-text);font-size:12px}.capability-flow li>.micro{color:var(--sage-text);font-size:9px}.capability-flow-arrow{position:absolute;right:-23px;color:var(--architecture-arrow)}.capability-flow-compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:0}.capability-flow-compact .capability-flow-arrow{right:-13px}.capability-flow-compact li{min-width:0;flex-wrap:wrap;font-size:10px;padding:10px}.capability-section{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,3fr);grid-gap:48px;gap:48px;border-top:1px solid var(--line);padding:42px 0;scroll-margin-top:110px}.capability-section-label .micro{margin-top:14px;font-size:10px;line-height:1.7}.capability-prose{min-width:0;max-width:78ch}.capability-prose h2{font-size:clamp(26px,3vw,38px);line-height:1.2;margin-bottom:24px}.capability-prose h3{font-size:22px;margin-top:32px}.capability-prose li,.capability-prose p{font-size:14px;line-height:1.85}.capability-prose p+p{margin-top:18px}.capability-prose ul{padding-left:20px;margin:22px 0 0}.capability-prose li+li{margin-top:12px}.capability-prose a{text-decoration:underline;text-underline-offset:4px}.capability-table{overflow-x:auto;margin-top:28px}.capability-table table{border-collapse:collapse;width:100%;min-width:500px;font-size:12px}.capability-table caption{text-align:left;padding-bottom:14px;color:var(--muted)}.capability-table td,.capability-table th{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.7}.capability-table th{font-weight:500;color:var(--text)}.capability-table td{color:var(--muted)}.capability-links{list-style:none;padding:0!important}.capability-links li{padding:14px 0;border-bottom:1px solid var(--line)}.capability-links a{text-decoration:none}.capability-links span{color:var(--accent);display:inline-block;margin-left:8px}.capability-cta,.capability-neighbours{padding-top:36px;border-top:1px solid var(--line);margin-top:28px}.capability-cta h2{font-size:clamp(28px,3.5vw,44px);margin-bottom:24px}.capability-related{padding-block:28px;border-top:1px solid var(--line)}.capability-related ul{display:flex;flex-wrap:wrap;gap:20px 32px;margin-top:18px;list-style:none;padding:0}.capability-related a{font-size:13px}.about-entity{border-block:1px solid var(--line);margin-top:36px;padding:24px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:24px;gap:24px}.about-entity dt{color:var(--accent);font-size:9px;letter-spacing:1px}.about-entity dd{margin:8px 0 0;color:var(--text);font-size:12px;line-height:1.7}.about-expertise-links{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:24px;font-size:12px}@media (max-width:900px){.capability-row{grid-template-columns:40px minmax(0,1fr);gap:24px}.capability-evidence{grid-column:2;border-left:0;padding-left:0}.capability-section{grid-template-columns:140px minmax(0,1fr);gap:24px}}@media (max-width:600px){.capability-intro h1{font-size:clamp(34px,9vw,48px)}.capability-intro{padding-bottom:32px}.capability-intro>p:not(.eyebrow){font-size:14px}.capability-row{grid-template-columns:1fr;gap:16px}.capability-evidence{grid-column:auto}.capability-section{grid-template-columns:1fr;gap:20px;padding-block:30px}.capability-section-label{display:flex;align-items:center;gap:16px}.capability-section-label .micro{margin:0}.capability-flow:not(.capability-flow-compact){flex-direction:column;gap:24px}.capability-flow:not(.capability-flow-compact) .capability-flow-arrow{right:auto;left:20px;bottom:-23px;transform:rotate(90deg)}.about-entity{grid-template-columns:1fr}}@media print{.capability-row,.capability-section{display:block}.capability-evidence{border:0;padding:0}}.capability-row{position:relative}.capability-row:before{content:"";position:absolute;inset:-1px 0 auto;height:1px;background:var(--architecture-line);transform-origin:left;pointer-events:none}.capability-row .capability-number{color:var(--muted)}.capability-row:is(:hover,:focus-within) .capability-number{color:var(--accent)}.capability-row:is(:hover,:focus-within):before{background:var(--sage-text)}.capability-row .text-link>span[aria-hidden]{display:inline-block}@keyframes capability-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:no-preference){.capability-intro>.capability-scope,.capability-intro>.capability-tags{animation:motion-rise .4s var(--ease-enter) .34s backwards}.capability-row.motion-enter:before{animation:motion-rule .6s var(--ease-enter) backwards}.capability-row.motion-enter>.capability-number{animation:capability-fade .36s var(--ease-enter) 80ms backwards}.capability-cta.motion-enter,.capability-row.motion-enter>div,.capability-section.motion-enter>.capability-prose{animation:motion-rise .42s var(--ease-enter) 80ms backwards}.capability-row.motion-enter .capability-tags{animation:capability-fade .36s var(--ease-enter) .22s backwards}.capability-page .motion-enter .capability-flow li{animation:capability-fade .42s var(--ease-enter) calc(.1s + var(--flow-step, 0) * 85ms) backwards}.capability-page .motion-enter .capability-flow-arrow{animation:capability-fade .6s var(--ease-enter) calc(.18s + var(--flow-step, 0) * 85ms) backwards}.capability-row .capability-number,.capability-row .text-link>span[aria-hidden]{transition:color var(--motion-normal) var(--ease-standard),transform var(--motion-normal) var(--ease-standard)}.capability-row .text-link:is(:hover,:focus-visible)>span[aria-hidden]{transform:translateX(3px)}@media (max-width:767px){.capability-page .motion-enter .capability-flow li,.capability-page .motion-enter .capability-flow-arrow{animation-duration:.3s;animation-delay:calc(var(--flow-step, 0) * 40ms)}}}.capability-page .motion-enter:focus-within,.capability-page .motion-enter:focus-within *{animation:none!important}@media (prefers-reduced-motion:reduce),print{.capability-page *,.capability-page :before{animation:none!important;transition:none!important}}.capability-flow li:after,.capability-flow li:before{content:"";position:absolute;inset:-1px;pointer-events:none;opacity:.55}.capability-flow li:before{border-block:1px solid var(--sage-text);transform-origin:left}.capability-flow li:after{border-inline:1px solid var(--sage-text);transform-origin:top}.capability-node-signal{position:absolute;top:4px;right:4px;width:3px;height:3px;background:var(--accent);opacity:0;pointer-events:none}.capability-row:focus-within .capability-flow li:after,.capability-row:focus-within .capability-flow li:before{opacity:1}@keyframes capability-frame-x{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:.55}}@keyframes capability-frame-y{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:.55}}@keyframes capability-node-signal{0%,to{opacity:0;transform:translateY(2px)}25%,65%{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.capability-page .motion-enter .capability-flow li:before{animation:capability-frame-x .48s var(--ease-enter) calc(.16s + var(--flow-step, 0) * .1s) backwards}.capability-page .motion-enter .capability-flow li:after{animation:capability-frame-y .42s var(--ease-enter) calc(.24s + var(--flow-step, 0) * .1s) backwards}.capability-page .motion-enter .capability-node-signal{animation:capability-node-signal .48s var(--ease-standard) calc(.3s + var(--flow-step, 0) * .12s) backwards}.capability-flow li:after,.capability-flow li:before,.capability-node-signal{transition:opacity var(--motion-normal) var(--ease-standard)}@media (max-width:767px){.capability-page .motion-enter .capability-flow li:after,.capability-page .motion-enter .capability-flow li:before{animation-duration:.32s;animation-delay:calc(.1s + var(--flow-step, 0) * 50ms)}.capability-page .motion-enter .capability-node-signal{animation:none}}}@media (hover:hover) and (pointer:fine){.capability-flow li:hover .capability-node-signal,.capability-flow li:hover:after,.capability-flow li:hover:before{opacity:1}}.capability-page .motion-enter:focus-within :after,.capability-page .motion-enter:focus-within :before{animation:none!important}@media (prefers-reduced-motion:reduce),print{.capability-page :after{animation:none!important;transition:none!important}}