:root{--color-bg:#f4f4f2;--color-surface:#fff;--color-surface-2:#e4e4e0;--color-text:#111316;--brand:#111316;--color-text-secondary:#55595f;--color-border:#cfcfca;--color-border-2:#bdbdb7;--color-field-border:#7a7a74;--color-panel:#111316;--color-panel-2:#22262b;--color-on-panel:#fff4e1;--color-on-panel-soft:#bdb7ac;--color-cta:#c42b2f;--color-cta-hover:#a6242a;--color-on-cta:#fff;--color-accent:#c42b2f;--color-accent-text:#a6242a;--color-danger:#a3141b;--focus-ring:#c42b2f;--color-band-red:#c42b2f;--color-on-band-red:#fff;--color-ground-warm:#efe7da;--color-border-warm:#d8ccb8;--color-panel-border:#454543;--color-accent-on-panel:#ff6b6f;--color-rubric-integration:#d9bb26;--color-rubric-integration-text:#756515;--color-rubric-process-orchestration:#22c3b6;--color-rubric-process-orchestration-text:#147169;--color-rubric-java:#7f3cdd;--color-rubric-java-text:#7f3cdd;--color-rubric-service-management:#cc2fda;--color-rubric-service-management-text:#aa20b6;--color-rubric-ai-and-data:#da2f8a;--color-rubric-ai-and-data-text:#ba2173;--font-display:"Sofia Sans", system-ui, sans-serif;--text-display:72px;--weight-display:800;--leading-display:1.02;--tracking-display:-.03em;--font-emphasis:"Sofia Sans", system-ui, sans-serif;--text-emphasis:72px;--weight-emphasis:300;--leading-emphasis:1.02;--tracking-emphasis:-.03em;--font-h2:"Sofia Sans", system-ui, sans-serif;--text-h2:48px;--weight-h2:800;--leading-h2:1.08;--tracking-h2:-.03em;--font-h3:"Sofia Sans", system-ui, sans-serif;--text-h3:28px;--weight-h3:800;--leading-h3:1.2;--tracking-h3:-.02em;--font-lead:"Sofia Sans", system-ui, sans-serif;--text-lead:22px;--weight-lead:400;--leading-lead:1.45;--font-body:"Sofia Sans", system-ui, sans-serif;--text-body:18px;--weight-body:400;--leading-body:1.6;--measure:36rem;--font-small:"Sofia Sans", system-ui, sans-serif;--text-small:15px;--weight-small:400;--leading-small:1.5;--font-label:"Sofia Sans", system-ui, sans-serif;--text-label:13px;--weight-label:600;--leading-label:1.4;--tracking-label:.12em;--font-ui:"Sofia Sans", system-ui, sans-serif;--text-ui:15px;--weight-ui:600;--leading-ui:1.2;--tracking-ui:.04em;--font-mono:"Source Code Pro", monospace;--text-mono:15px;--weight-mono:400;--leading-mono:1.6;--radius:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;--space-9:64px;--space-10:80px;--space-11:96px;--space-12:128px;--space-section:80px;--container-max:1248px;--nav-h:104px;--t-fast:.15s var(--ease);--t-base:.25s var(--ease);--t-slow:.4s var(--ease);--ease:cubic-bezier(.2, .7, .2, 1);--page-pad:20px;--col-gap:16px;--cols:2}@media (min-width:768px){:root{--page-pad:40px;--col-gap:20px;--cols:6}}@media (min-width:1024px){:root{--page-pad:56px;--col-gap:24px;--cols:12}}@media (min-width:1280px){:root{--page-pad:96px;--col-gap:24px;--cols:12}}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/sofia-sans-cyrillic-ext.woff2?v=1)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/sofia-sans-cyrillic.woff2?v=1)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/sofia-sans-latin-ext.woff2?v=1)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/sofia-sans-latin.woff2?v=1)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-code-pro-latin.woff2?v=1)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--shadow-pop:0 12px 32px #11131624;--color-grid-line:#cfcfca80;--color-plate-rule:#fff4e11f;--text-figure:12.5px;--weight-bold:600}@media (max-width:1279px){:root{--text-display:64px;--text-emphasis:64px;--text-h2:42px}}@media (max-width:1023px){:root{--text-display:60px;--text-emphasis:60px;--text-h2:40px;--text-h3:26px;--space-section:72px}}@media (max-width:767px){:root{--text-display:45px;--text-emphasis:45px;--text-h2:30px;--text-h3:20px;--text-lead:18px;--text-body:17px;--space-section:48px;--nav-h:80px}}@media (max-width:359px){:root{--text-display:38px;--text-emphasis:38px}}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}:where(ul[class],ol[class]){margin:0;padding:0;list-style:none}img,svg,video{max-width:100%;display:block}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}[hidden]{display:none!important}:where(:root){--radius:6px;--radius-sm:var(--radius);--radius-md:var(--radius);--radius-lg:var(--radius);--radius-xl:var(--radius);--radius-full:50%;--container-max:1344px;--cols:2;--col-gap:12px;--page-pad:16px;--container-padding:var(--page-pad)}@media (min-width:360px){:where(:root){--page-pad:20px}}@media (min-width:768px){:where(:root){--cols:6;--col-gap:16px;--page-pad:24px}}@media (min-width:1024px){:where(:root){--col-gap:20px;--page-pad:32px}}@media (min-width:1200px){:where(:root){--col-gap:24px;--page-pad:48px}}.container{width:min(var(--container-max), 100% - 2 * var(--page-pad));margin-inline:auto;padding-inline:0}.skip-link{z-index:1000;background:var(--color-bg);color:var(--color-text);padding:.75rem 1rem;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}:focus-visible{outline:2px solid var(--focus-ring,currentColor);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.reveal{transition:opacity var(--t-fast,.15s ease)}.reveal-on .reveal.is-waiting{opacity:0;transition:none}.motion-toggle{display:none}.js .motion-toggle{min-height:44px;font:inherit;cursor:pointer;align-items:center;padding:0 1rem;display:inline-flex}html:not(.js) [data-motion=auto],html:not(.js) [data-motion=auto] *,[data-motion=auto]:hover,[data-motion=auto]:hover *,[data-motion=auto]:focus-within,[data-motion=auto]:focus-within *,[data-motion=auto].is-paused,[data-motion=auto].is-paused *{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){.js .motion-toggle{display:none}}.nav-toggle{display:none}.nav-list{flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;padding:0;list-style:none;display:flex}@media (max-width:960px){.js .nav-toggle{border-radius:var(--radius);min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;align-items:center;gap:.6rem;padding:0 1rem;display:inline-flex}.js .nav-list{display:none}.js .site-nav.is-open .nav-list{inset-inline:0;padding:.5rem var(--page-pad) 1rem;background:var(--color-bg);border-block-end:1px solid var(--color-border);flex-direction:column;gap:0;display:flex;position:absolute;top:100%}.js .site-nav.is-open .nav-list a{padding-block:.75rem;display:block}}.nav-toggle-icon,.nav-toggle-icon:before,.nav-toggle-icon:after{background:currentColor;width:18px;height:2px;display:block}.nav-toggle-icon{position:relative}.nav-toggle-icon:before,.nav-toggle-icon:after{content:"";transition:transform .2s;position:absolute;left:0}.nav-toggle-icon:before{top:-6px}.nav-toggle-icon:after{top:6px}.nav-toggle[aria-expanded=true] .nav-toggle-icon{background:0 0}.nav-toggle[aria-expanded=true] .nav-toggle-icon:before{transform:translateY(6px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-icon:after{transform:translateY(-6px)rotate(-45deg)}.lang-banner-close{display:none}.js .lang-banner-close{min-width:44px;min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.lang-note{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:960px){.nav-actions{flex-wrap:wrap}.lang-note{clip:auto;white-space:normal;flex-basis:100%;width:auto;height:auto;position:static;overflow:visible}}:root:not([data-theme=dark]) .brand-logo-dark,:root[data-theme=dark] .brand-logo-light{display:none}.gallery-item{margin:0}.gallery-item img{width:100%;height:auto;display:block}.gallery-open{display:block}.gallery-more{display:none}.js .gallery-more{min-height:44px;font:inherit;cursor:pointer;align-items:center;margin-top:1.5rem;padding:0 1.25rem;display:inline-flex}.js .gallery:not(.is-expanded) .gallery-extra{display:none}.lightbox{background:var(--color-bg);max-width:min(92vw,1200px);max-height:92vh;color:var(--color-text);border:0;padding:0}.lightbox::backdrop{background:#000000d1}.lightbox-figure{margin:0}.lightbox-img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:76vh;margin-inline:auto;display:block}.lightbox-caption,.lightbox-count{margin:0;padding:.5rem 1rem}.lightbox button{border-radius:var(--radius-full);background:var(--color-bg);min-width:44px;min-height:44px;color:var(--color-text);cursor:pointer;border:0;font-size:1.5rem;line-height:1;position:absolute}.lightbox-close{top:.5rem;right:.5rem}.lightbox-prev,.lightbox-next{top:38vh}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}html.lightbox-open{overflow:hidden}@media (prefers-reduced-motion:reduce){.nav-toggle-icon:before,.nav-toggle-icon:after{transition:none}}.breadcrumbs-list{color:var(--color-text-secondary);flex-wrap:wrap;gap:.25rem .5rem;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.breadcrumbs-list li+li:before{content:"/";margin-right:.5rem}.breadcrumbs-list a{color:inherit}.breadcrumbs-list [aria-current=page]{color:var(--color-text)}:is(.breadcrumbs,.breadcrumb):has(+[data-ground=plate]){background:var(--color-panel);color:var(--color-on-panel);--focus-ring:var(--color-on-panel)}:is(.breadcrumbs,.breadcrumb):has(+[data-ground=plate]) a{color:inherit}.prose h2,.article-faq h2,.article-sources h2{scroll-margin-top:1rem}.heading-anchored{align-items:baseline;gap:.5rem;display:flex}.heading-anchor{color:var(--color-text-secondary);text-decoration:none}:is(.heading-anchor:hover,.heading-anchor:focus-visible){color:var(--brand)}.article-toc{border-left:2px solid var(--color-border);margin-block:1.5rem;padding-left:1rem}.article-toc-title{font-weight:var(--weight-bold,700);margin:0 0 .5rem}.article-toc ol{margin:0;padding-left:1.2rem}.article-toc a{width:fit-content;padding-block:.25rem;display:inline-block}:where(.prose) :is(table,pre,figure,img){max-width:100%}:where(.prose) img{height:auto}:where(.prose) figure{margin-inline:0}:where(.prose) pre{overflow-x:auto}:where(.prose) table{border-collapse:collapse;width:100%}:where(.prose) caption{text-align:start}:where(.prose) :is(th,td){border:1px solid var(--color-border);text-align:start;vertical-align:top;padding:.5rem .75rem}:where(.prose) th{font-weight:var(--weight-bold,700)}:where(.prose) thead th{border-block-end-width:2px}@media screen and (max-width:1023px){:where(.prose) table{display:block;overflow-x:auto}}.contact-form .field-error{color:var(--color-danger);margin:.35rem 0 0;font-size:max(.875rem,14px)}.contact-form [aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}.contact-form[aria-busy=true]{opacity:.7}.contact-form .form-status:empty{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}.contact-form .form-status[data-kind=error]{color:var(--color-danger)}.contact-form .field-website{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.staging-note{font-weight:var(--weight-bold,700);flex-basis:100%;margin:0}@media print{.site-header,.site-footer,.skip-link,.lang-banner,.article-toc,.heading-anchor,.tag-filter-bar,.pagination,.related,.article-cta,.share{display:none!important}body{color:#000;background:#fff}a{color:inherit}.prose a[href^=http]:after{content:" (" attr(href) ")";overflow-wrap:anywhere;font-size:.85em}.reveal{opacity:1!important;transform:none!important}h2,h3{break-after:avoid}pre,table,figure,blockquote,img{break-inside:avoid}.prose pre{white-space:pre-wrap}}html{background:var(--color-bg)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--weight-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}h1,h2,h3{color:var(--color-text)}h1{font-family:var(--font-display);font-size:var(--text-display);font-weight:var(--weight-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display);text-wrap:balance}h2{font-family:var(--font-h2);font-size:var(--text-h2);font-weight:var(--weight-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2);text-wrap:balance}h3{text-wrap:balance;font-family:var(--font-h3);font-size:var(--text-h3);font-weight:var(--weight-h3);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3)}.nobr{white-space:nowrap}.w300{font-family:var(--font-emphasis);font-size:var(--text-emphasis);font-weight:var(--weight-emphasis);line-height:var(--leading-emphasis);letter-spacing:var(--tracking-emphasis)}strong{font-weight:600}a{color:var(--brand);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}a:hover{color:var(--color-accent-text);text-decoration-thickness:2px}code,pre,kbd,samp{font-family:var(--font-mono);font-size:var(--text-mono);font-weight:var(--weight-mono);line-height:var(--leading-mono)}.lead{font-family:var(--font-lead);font-size:var(--text-lead);font-weight:var(--weight-lead);line-height:var(--leading-lead);color:var(--color-text-secondary)}.small,.facts-row,.byline,.irow-meta,.ins-meta{font-family:var(--font-small);font-size:var(--text-small);font-weight:var(--weight-small);line-height:var(--leading-small)}.kicker,.architects-label,.p-cols,.lead-card-label,.nav-panel-title,.footer-title,.fig-n,.replay,.k-num,.k-ended,.ins-rubric,.step-n,.numbered .n,.article-toc-title,.toc-summary,.glossary-index-title,.btn,.nav-list>li>a,.nav-toggle{font-family:var(--font-label);font-size:var(--text-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);text-transform:uppercase}.kicker{color:var(--color-text-secondary);margin-bottom:var(--space-4)}.tnum,.facts-row,.p-ver,.k-when,.byline,time{font-variant-numeric:tabular-nums}html{scroll-padding-top:var(--space-4)}.container{position:relative}.grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--col-gap);display:grid}.grid>*{grid-column:1/-1;min-width:0}.grid-lines{inset:0 calc(var(--col-gap) / -2);grid-template-columns:repeat(var(--cols), minmax(0, 1fr));pointer-events:none;display:grid;position:absolute}.grid-lines i{border-left:1px solid var(--line,var(--color-grid-line))}.grid-lines i:last-child{border-right:1px solid var(--line,var(--color-grid-line))}.has-grid .grid{position:relative}@media (max-width:1023px){.grid-lines i:nth-child(n+7){display:none}.grid-lines i:nth-child(6){border-right:1px solid var(--line,var(--color-grid-line))}}@media (max-width:767px){.grid-lines{display:none}}.rule-top>.container{border-top:1px solid var(--color-text)}.has-grid.rule-top>.container{border-top:0}.has-grid.rule-top>.container:before{content:"";top:0;left:calc(var(--col-gap) / -2);right:calc(var(--col-gap) / -2);border-top:1px solid var(--color-text);position:absolute}.btn{min-height:52px;padding:0 var(--space-5);border-radius:var(--radius);white-space:nowrap;cursor:pointer;transition:background-color var(--t-fast), color var(--t-fast), box-shadow var(--t-fast);border:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn-primary,.btn-cta{background:var(--color-cta);color:var(--color-on-cta)}.btn-primary:hover,.btn-cta:hover{background:var(--color-cta-hover);color:var(--color-on-cta)}.btn-secondary{color:var(--color-text);background:0 0;box-shadow:inset 0 0 0 1.5px}.btn-secondary:hover{background:var(--color-panel);color:var(--color-on-panel)}.actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}@media (max-width:400px){.btn{white-space:normal;text-align:center;max-width:100%}}.arrow{fill:none;stroke:currentColor;stroke-width:1.5px;flex:none;width:22px;height:14px}.site-header{z-index:30;background:var(--color-bg);border-bottom:1px solid var(--color-border);position:relative}.header-inner{justify-content:space-between;align-items:center;gap:var(--space-5);min-height:var(--nav-h);padding-block:var(--space-4);display:flex;position:static}.brand{flex:none;line-height:0;text-decoration:none;display:block}.brand img{mix-blend-mode:multiply;width:auto;height:72px}.site-nav{align-items:center;gap:var(--space-3);display:flex}.nav-panel{align-items:center;gap:var(--space-7);display:flex}.nav-list{gap:var(--space-6);align-items:center}.nav-list>li>a{color:var(--color-text);padding:10px 0;text-decoration:none;display:block}.nav-list>li>a:hover,.nav-list>li>a[aria-current]{color:var(--color-text);text-underline-offset:.5em;text-decoration:underline;text-decoration-thickness:2px}.nav-actions .btn{min-height:48px;padding:0 var(--space-5)}.has-panel{align-items:center;gap:0;display:flex}@media (min-width:1024px){.has-panel .nav-panel-toggle{margin-left:-6px}}.nav-panel-toggle{border-radius:var(--radius);width:32px;min-height:44px;color:var(--color-text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.nav-panel-toggle svg{transition:transform var(--t-fast)}.has-panel.is-open .nav-panel-toggle svg{transform:rotate(180deg)}html:not(.js) .nav-panel-toggle,.nav-dropdown{display:none}.nav-panel-title{color:var(--color-text-secondary);padding-bottom:var(--space-2);margin-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.nav-panel-row ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.nav-panel-row a{color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-ui);font-weight:var(--weight-ui);line-height:var(--leading-ui);letter-spacing:var(--tracking-ui);padding:6px 0;text-decoration:none;display:block}.nav-panel-row a:hover,.nav-panel-row a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}@media (min-width:1024px){.has-panel.is-open .nav-dropdown,html:not(.js) .has-panel:focus-within .nav-dropdown{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--col-gap);padding:var(--space-6) max(var(--page-pad), (100% - var(--container-max)) / 2) var(--space-7);background:var(--color-surface);border-bottom:1px solid var(--color-text);box-shadow:var(--shadow-pop);display:grid;position:absolute;top:100%;left:0;right:0}.nav-dropdown .nav-panel-row{grid-column:span 3}}@media (max-width:1023px){.brand img{height:56px}.js .nav-toggle{border-radius:var(--radius);min-height:44px;color:var(--color-text);cursor:pointer;font-family:var(--font-label);font-size:var(--text-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);text-transform:uppercase;background:0 0;border:0;align-items:center;gap:10px;padding:0 14px;display:inline-flex;box-shadow:inset 0 0 0 1px}.menu-ready .nav-list,.menu-ready .nav-actions{display:none}html.js:not(.menu-ready) .nav-list{display:flex}html.js:not(.menu-ready) .nav-toggle{display:none}.menu-ready .site-nav.is-open .nav-panel{z-index:30;padding:var(--space-2) max(var(--page-pad), (100% - var(--container-max)) / 2) var(--space-6);background:var(--color-bg);border-bottom:1px solid var(--color-text);box-shadow:var(--shadow-pop);display:block;position:absolute;top:100%;left:0;right:0}.js .site-nav.is-open .nav-list{background:0 0;border:0;flex-direction:column;align-items:stretch;gap:0;padding:0;display:flex;position:static}.js .site-nav.is-open .nav-list>li{border-bottom:1px solid var(--color-border);display:block}.js .site-nav.is-open .nav-list>li>a{padding-block:14px}.js .site-nav.is-open .nav-actions{margin-top:var(--space-5);display:block}.js .site-nav.is-open .nav-actions .btn{width:100%}.menu-ready .site-nav .nav-panel-toggle{width:44px;min-height:44px;margin-left:auto;display:inline-flex}.js .site-nav.is-open .nav-list>li.has-panel{flex-wrap:wrap;align-items:center;display:flex}.js .site-nav.is-open .nav-dropdown{display:none}.js .site-nav.is-open .has-panel.is-open .nav-dropdown{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--col-gap);row-gap:var(--space-4);padding:0 0 var(--space-4);flex-basis:100%;display:grid}.js .site-nav.is-open .nav-panel-row{grid-column:span 3}.header-inner{flex-wrap:wrap}}@media (max-width:767px){.header-inner{padding-block:var(--space-3)}.js .site-nav.is-open .nav-panel-row{grid-column:1/-1}}.crumbs-row{padding-top:var(--space-5)}.breadcrumbs-list li+li:before{content:"/";content:"/" / "";margin-right:.5rem}@media (max-width:767px){.breadcrumbs-list{flex-wrap:nowrap}.breadcrumbs-list li{flex:none}.breadcrumbs-list li:last-child{flex:0 auto;min-width:0}.breadcrumbs-list li:last-child>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}}.band{padding-block:var(--space-section)}.band-2{background:var(--color-surface-2)}.band-2 .ruled li,.band-2 .faq-item,.band-2 .person,.band-2 .facts-list>div{border-color:var(--color-border-2)}.band-ink{--color-text:var(--color-on-panel);--brand:var(--color-on-panel);--color-text-secondary:var(--color-on-panel-soft);--color-border:var(--color-panel-border);--color-border-2:var(--color-panel-border);--color-surface:var(--color-panel-2);--color-accent-text:var(--color-accent-on-panel);--color-grid-line:var(--color-plate-rule);--line:var(--color-plate-rule);--color-surface-2:var(--color-panel);background:var(--color-panel);color:var(--color-text)}:is(.band-ink,.band-red,.band-warm).rule-top>.container{border-top:0}:is(.band-ink,.band-red,.band-warm).has-grid.rule-top>.container:before{display:none}.band-red{--color-text:var(--color-on-band-red);--brand:var(--color-on-band-red);--color-text-secondary:var(--color-on-band-red);--color-accent-text:var(--color-on-band-red);--focus-ring:var(--color-on-band-red);background:var(--color-band-red);color:var(--color-text)}.band-warm{--color-surface-2:var(--color-ground-warm);--color-border-2:var(--color-border-warm);background:var(--color-ground-warm)}.band-warm .ruled li,.band-warm .faq-item,.band-warm .person,.band-warm .facts-list>div{border-color:var(--color-border-warm)}:is(.band-ink,.band-red,.band-warm)+.rule-top>.container{border-top:0}:is(.band-ink,.band-red,.band-warm)+.has-grid.rule-top>.container:before{display:none}h1{text-wrap:balance}.irow-title,.ins-lead h3,.svc-group-head p,.lead{text-wrap:pretty}.rule-top.band>.container,.band.rule-top>.container{padding-top:var(--space-section)}.band.rule-top{padding-top:0}.band-split>.band-title{grid-column:1/5}.band-split>.band-body{grid-column:5/13}.band-row>.band-title{margin-bottom:var(--space-7)}.band-title{text-wrap:balance}.band-body>p+p,.band-body>p+ul,.band-body>ul+p{margin-top:var(--space-4)}.band-body p,.band-body li{max-width:var(--measure)}.band-body .ruled li,.band-body .person,.band-body .faq-item{max-width:none}.more{margin-top:var(--space-5)}@media (max-width:1023px){.band-split>.band-title,.band-split>.band-body{grid-column:1/-1}.band-split>.band-title{margin-bottom:var(--space-6)}}.ruled{border-top:1px solid var(--color-text)}.ruled>li{padding:var(--space-5) 0;border-bottom:1px solid var(--color-border)}.ruled h3{margin-bottom:var(--space-2)}.site-footer{background:var(--color-panel);color:var(--color-on-panel);--focus-ring:var(--color-accent)}.site-footer a{color:var(--color-on-panel);text-decoration:none}.site-footer a:hover{color:var(--color-on-panel);text-decoration:underline}.footer-grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--col-gap);row-gap:var(--space-7);padding-block:var(--space-8) var(--space-7);border-top:1px solid var(--color-plate-rule);display:grid}.footer-grid>section{grid-column:span 3}.footer-title{color:var(--color-on-panel-soft);margin-bottom:var(--space-4)}.footer-list{gap:var(--space-2);font-size:var(--text-small);display:grid}.footer-list a{transition:background-color var(--t-slow);margin-inline:-6px;padding:4px 6px;display:inline-block}.footer-list a:hover{background:var(--color-panel-2)}.footer-bar{gap:var(--space-2) var(--space-6);padding-block:var(--space-5) var(--space-7);border-top:1px solid var(--color-plate-rule);font-size:var(--text-small);color:var(--color-on-panel-soft);flex-wrap:wrap;display:flex}.footer-bar p{align-items:center;column-gap:.3em;min-height:44px;margin:0;display:inline-flex}.footer-bar .staging-note{min-height:0;display:block}.footer-bar a{color:var(--color-on-panel);text-underline-offset:.2em;text-decoration:underline}@media (max-width:1023px){.footer-grid>section{grid-column:span 3}}@media (max-width:767px){.footer-grid>section{grid-column:1/-1}}.footer-list a{align-items:center;min-height:44px;padding-block:0;display:inline-flex}.footer-list{gap:0}.footer-bar a,.contact-phones a,.contact-address-mail a,.contact-privacy a,.how-more a,.more a,.ins-all,.team-name a{align-items:center;min-height:44px;display:inline-flex}.breadcrumbs-list{align-items:center}.breadcrumbs-list li,.breadcrumbs-list a{align-items:center;min-height:44px;display:inline-flex}.nav-panel-toggle{width:44px}.heading-anchor{justify-content:center;align-items:center;min-width:24px;min-height:24px;display:inline-flex}@media (min-width:1024px){.nav-list>li>a{align-items:center;min-height:44px;padding-block:0;display:flex}}.hero .container{padding-block:var(--space-8) 0}.hero-text{grid-area:1/1/auto/8}.hero .lead{margin-top:var(--space-5);max-width:40rem}.fig1{grid-area:1/8/3/13;align-self:start;margin-top:10px}.architects{padding-top:var(--space-4);border-top:1px solid var(--color-border);grid-area:2/1/auto/8;margin-top:36px}.architects-label{color:var(--color-text-secondary);margin-bottom:var(--space-3)}.architects ul{column-gap:var(--col-gap);grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.architects li:first-child{grid-column:1/4}.architects li:last-child{grid-column:4/8}.a-name{font-weight:600;line-height:1.4;display:block}.a-role{font-size:var(--text-small);line-height:var(--leading-small);color:var(--color-text-secondary);margin-top:2px;display:block}.facts-row{padding-block:var(--space-4) 18px;border-top:1px solid var(--color-text);grid-area:3/1/auto/-1;margin-top:36px}.fig-frame{display:block}.fig1-svg{width:100%;height:auto;font-family:var(--font-body);display:block;overflow:visible}.fig1-svg *,.ruler-svg *,.stopped-svg *{vector-effect:non-scaling-stroke}.fig1-svg .o,.stopped-svg .o{fill:var(--color-surface);stroke:var(--color-text);stroke-width:1.9px}.fig1-svg .o .end,.stopped-svg .end{stroke-width:3.8px}.fig1-svg .c{fill:var(--color-surface);stroke:var(--color-text);stroke-width:1px}.fig1-svg .c .dash,.stopped-svg .dash{fill:none;stroke:var(--color-text);stroke-width:1px;stroke-dasharray:5 4}.fig1-svg .active{fill:var(--color-accent);stroke:var(--color-accent);stroke-width:1.9px}.fig1-svg .token,.stopped-svg .token{fill:var(--color-accent)}.fig1-svg text{font-size:var(--text-figure);fill:var(--color-text);stroke:none;font-variant-numeric:tabular-nums}.fig1-svg .zone{fill:none;stroke:var(--color-text-secondary);stroke-width:1px;stroke-dasharray:2 4}.fig1-svg .mk{fill:none;stroke:var(--color-text);stroke-width:1.9px}.fig1-svg text.zl{fill:var(--color-text-secondary);letter-spacing:.12em;text-transform:uppercase}.fig1-svg .pt{fill:var(--color-surface-2);stroke:var(--color-text);stroke-width:1px}.fig1-svg .psl{fill:var(--color-border-2);stroke:var(--color-text);stroke-width:1px}.fig1-svg .psr,.fig1-svg .sl{fill:var(--color-border);stroke:var(--color-text);stroke-width:1px}.fig1-svg .sr{fill:var(--color-surface-2);stroke:var(--color-text);stroke-width:1px}.fig1-svg.fig1-iso text{font-size:17px}.fig1 figcaption{align-items:flex-start;gap:var(--space-3) var(--space-5);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-small);line-height:var(--leading-small);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.fig1 figcaption>span{flex:16rem}.fig-n{color:var(--color-accent-text);margin-right:6px}.replay{border-radius:var(--radius);min-height:44px;color:var(--color-text);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.replay:hover{color:var(--color-accent-text);text-decoration-thickness:2px}.definition .container{padding-block:var(--space-9) var(--space-8)}.statement{font-family:var(--font-lead);font-size:var(--text-h3);font-weight:var(--weight-body);letter-spacing:-.01em;text-wrap:pretty;grid-column:1/9;line-height:1.35}.platforms>.container{padding-block:var(--space-section)}.p-head{margin-bottom:var(--space-7)}.p-cols,.prow{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--col-gap);display:grid}.p-cols{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-text);color:var(--color-text-secondary)}.p-cols span:first-child,.p-name{grid-column:1/4}.p-cols span:nth-child(2),.p-text{grid-column:4/10}.p-cols span:nth-child(3),.p-ver{grid-column:10/12}.prow{border-bottom:1px solid var(--color-border);color:var(--color-text);align-items:baseline;padding-block:28px 30px;text-decoration:none;position:relative}.prow:hover{background:var(--color-surface);color:var(--color-text)}.p-text{color:var(--color-text-secondary);line-height:1.55}.p-ver{font-size:var(--text-small);line-height:var(--leading-small)}.prow .arrow{grid-column:12/13;place-self:center end}@media (min-width:1024px) and (max-width:1279px){.p-cols span:first-child,.p-name{grid-column:1/5}.p-cols span:nth-child(2),.p-text{grid-column:5/10}}.prow:hover .p-name{color:var(--color-accent-text);text-underline-offset:.14em;text-decoration:underline;text-decoration-thickness:2px}.prow:hover .arrow{color:var(--color-accent-text)}.prow .p-name{align-items:baseline;gap:12px;display:flex}.prow .p-name:before{content:"";background:var(--rubric,var(--color-text));flex:none;width:12px;height:12px}@media (min-width:768px) and (max-width:1023px){.prow .p-name{margin-left:-24px}}.also{color:var(--color-text-secondary);margin-top:28px}.deadlines>.container,.svc-versions>.container{padding-block:var(--space-section)}.svc-versions{padding-block:0}.dl-head h2{grid-column:1/9}.dl-note{align-self:end;align-items:flex-start;gap:var(--space-3);font-size:var(--text-small);line-height:var(--leading-small);color:var(--color-text-secondary);grid-column:9/13;display:flex}.dot{flex:none;width:10px;height:10px;margin-top:6px}.dot circle{fill:var(--color-accent)}.ruler{margin-block:var(--space-9) var(--space-8)}.ruler-svg{width:100%;height:auto;font-family:var(--font-body);display:block;overflow:visible}.ruler-svg text{font-size:var(--text-label);fill:var(--color-text);font-variant-numeric:tabular-nums}@media (min-width:1280px) and (max-width:1439px){.ruler-svg text{font-size:14px}.fig1-svg text{font-size:15px}}@media (min-width:1024px) and (max-width:1279px){.ruler-svg text,.fig1-svg text{font-size:17px}}@media (min-width:1280px) and (max-width:1439px){.fig1-svg.fig1-iso text{font-size:20px}}@media (min-width:1024px) and (max-width:1279px){.fig1-svg.fig1-iso text{font-size:22px}}.ruler-svg .yr text{fill:var(--color-text-secondary)}.ruler-svg .lane{fill:none;stroke:var(--color-border-2);stroke-width:1px}.ruler-svg .axis{stroke:var(--color-text);stroke-width:1.9px}.ruler-svg .tick,.ruler-svg .cap,.ruler-svg .check{stroke:var(--color-text);stroke-width:1px}.ruler-svg .qtick{stroke:var(--color-text);stroke-width:.75px}.ruler-svg .span,.ruler-legend .span{stroke:var(--color-text);stroke-width:1.9px;fill:none}.ruler-svg .span-thin,.ruler-legend .span-thin{stroke:var(--color-text);stroke-width:1px;stroke-dasharray:4 3;fill:none}.ruler-svg .mark,.ruler-svg .token,.ruler-legend .mark,.ruler-legend .token{fill:var(--color-accent)}.ruler-legend{gap:var(--space-2) var(--space-6);margin-top:var(--space-5);font-size:var(--text-small);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.ruler-legend li{align-items:center;gap:10px;display:flex}.ruler-legend svg{flex:none;width:28px;height:16px}.dl-links{border-top:1px solid var(--color-text);grid-column:1/5;align-self:start}.dl-links a{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0 17px;border-bottom:1px solid var(--color-border-2);display:flex}.dl-key{border-top:1px solid var(--color-text);grid-column:5/13}.dl-key li{column-gap:var(--col-gap);padding:var(--space-4) 0 18px;border-bottom:1px solid var(--color-border-2);grid-template-columns:repeat(8,minmax(0,1fr));align-items:baseline;display:grid}.k-when{grid-column:1/4;grid-template-columns:30px minmax(0,1fr);align-items:baseline;gap:6px 14px;display:grid}.k-ended{grid-column:2;justify-self:start}.k-num{align-items:center;gap:10px;min-width:30px;display:inline-flex}.k-num:before{content:"";background:var(--color-accent);width:3px;height:14px}.k-date{font-weight:600}.k-ended{color:var(--color-text);padding:1px 6px;box-shadow:inset 0 0 0 1px}.k-next{color:var(--color-accent-text)}.page-head-note{margin-top:var(--space-4);font-size:var(--text-lead)}.k-fact{grid-column:4/9}.svc-versions .ruler{margin-bottom:0}.svc-versions .dl-foot{margin-top:var(--space-8)}@media (max-width:1023px){.deadlines .dl-foot{margin-top:var(--space-7)}}.how>.container{padding-block:var(--space-section)}.how-head{text-wrap:balance;grid-column:1/9}.band-row>.steps-3{margin-top:0}.steps{grid-column:1/-1;grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--col-gap);margin-top:var(--space-8);border-top:1px solid var(--color-text);display:grid}.step{padding-top:var(--space-6);grid-column:span 3;position:relative}@media (min-width:1024px){.steps{grid-template-rows:repeat(4,auto)}.step{grid-template-rows:subgrid;grid-row:span 4;align-content:start;row-gap:0;display:grid}}.step:before{content:"";border-radius:var(--radius-full);background:var(--color-accent);width:9px;height:9px;position:absolute;top:-5px;left:0}.step-n{color:var(--color-accent-text);margin-bottom:var(--space-3)}.step h3{margin-bottom:var(--space-3)}.step p{max-width:22rem}.you-get{margin-top:var(--space-3);color:var(--color-text-secondary)}.you-get span{color:var(--color-text);font-weight:600}.models-label{margin-top:var(--space-8);padding-top:var(--space-4);font-family:var(--font-label);font-size:var(--text-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-secondary);grid-column:1/5}.models{margin-top:var(--space-8);border-top:1px solid var(--color-border);grid-column:5/13}.models li{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.how-more{margin-top:var(--space-5);grid-column:5/13}.people-band>.container{padding-block:var(--space-section)}.people-band .band-title{grid-column:1/5}.people-band .band-body{grid-column:5/13}.people{border-top:1px solid var(--color-text)}.person{column-gap:var(--col-gap);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);grid-template-columns:repeat(8,minmax(0,1fr));align-items:baseline;display:grid}.person-name{grid-column:1/3;font-weight:600}.person-name a{color:var(--color-text);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.person-name a:hover{color:var(--color-accent-text);text-decoration:underline;text-decoration-thickness:2px}.person-role{font-size:var(--text-small);grid-column:3/6}.person-lang{color:var(--color-text-secondary);margin-top:2px;display:block}.lang-label{font-weight:600}.person-leads{font-size:var(--text-small);color:var(--color-text-secondary);grid-column:6/9}@media (min-width:1024px) and (max-width:1279px){.person-name{grid-column:1/4}.person-role{grid-column:4/7}.person-leads{grid-column:7/9}}.sectors .container{padding-block:var(--space-section) var(--space-8)}.sectors-body{grid-column:1/9}.sectors-label{font-family:var(--font-label);font-size:var(--text-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-secondary)}.sectors-line{margin-top:var(--space-3);font-family:var(--font-lead);font-size:var(--text-h3);line-height:1.35}.insights>.container{padding-block:var(--space-section)}.ins-headrow{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-7);flex-wrap:wrap;display:flex}.ins-all{align-items:center;gap:var(--space-3);display:inline-flex}.insights .ins-lead{padding-top:var(--space-4);border-top:1px solid var(--color-text);grid-column:1/8}.insights .ins-rows{grid-column:8/13}.ins-lead h2,.ins-lead h3{margin-block:var(--space-3) var(--space-4)}.ins-lead h2 a,.ins-lead h3 a{color:var(--color-text);text-decoration:none}.ins-lead h2 a:hover,.ins-lead h3 a:hover{color:var(--color-accent-text);text-decoration:underline;text-decoration-thickness:2px}.ins-lead p{max-width:var(--measure);color:var(--color-text-secondary)}.ins-rubric{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);display:inline-flex}.ins-rubric:before{content:"";background:var(--rubric,var(--color-text));width:8px;height:8px}.ins-meta{gap:var(--space-4);margin-top:var(--space-4);color:var(--color-text-secondary);display:flex}.ins-rows{border-top:1px solid var(--color-text)}.irow{column-gap:var(--col-gap);padding:var(--space-4) 0 18px;border-bottom:1px solid var(--color-border);color:var(--color-text);grid-template-columns:minmax(0,1fr) auto;row-gap:4px;text-decoration:none;display:grid}.irow>:not(.arrow){grid-column:1}.irow-title{font-weight:600;line-height:1.35}.irow-meta{color:var(--color-text-secondary)}.irow .arrow{grid-area:1/2/span 3;align-self:center}.irow:hover{color:var(--color-text)}.irow:hover .irow-title{color:var(--color-accent-text);text-underline-offset:.14em;text-decoration:underline;text-decoration-thickness:2px}.faq:not(.band)>.container{padding-block:var(--space-section)}.faq .band-title{grid-column:1/5}.faq .band-body{grid-column:5/13}.faq-list{border-top:1px solid var(--color-text)}.faq-item{border-bottom:1px solid var(--color-border)}.faq-item summary{justify-content:space-between;align-items:baseline;gap:var(--space-5);padding:var(--space-5) 0;cursor:pointer;font-weight:600;font-size:var(--text-lead);line-height:1.35;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-mark{fill:none;stroke:currentColor;stroke-width:1.5px;width:14px;height:14px;transition:transform var(--t-base);flex:none}.faq-item[open] .faq-mark{transform:rotate(45deg)}.faq-item p{max-width:var(--measure);padding-bottom:var(--space-5)}.cta{--line:var(--color-plate-rule);--focus-ring:var(--color-accent);background:var(--color-panel);color:var(--color-on-panel)}.cta>.container{padding-block:var(--space-10)}.cta-logo{grid-column:1/4;align-self:start;width:auto;max-width:100%;height:160px}.cta-body{grid-column:5/13}.cta h2{font-size:var(--text-display);line-height:var(--leading-display);color:var(--color-on-panel)}.cta p{max-width:36rem;font-size:var(--text-lead);line-height:var(--leading-lead);color:var(--color-on-panel-soft);margin:28px 0 36px}.cta .btn-primary:hover{background:var(--color-cta);box-shadow:inset 0 0 0 2px var(--color-on-panel)}.page-head .container{padding-block:var(--space-7) var(--space-9)}.page-head-text{grid-column:1/9}.page-head .lead{margin-top:var(--space-5);max-width:40rem}.lead-card{padding-top:var(--space-4);border-top:1px solid var(--color-text);grid-column:10/13;align-self:end}.lead-card-label{color:var(--color-text-secondary)}.lead-card-name{margin-top:var(--space-2);font-weight:600}.lead-card-role{font-size:var(--text-small);color:var(--color-text-secondary)}.svc-figure{max-width:var(--measure);margin-top:var(--space-8);grid-column:5/13}.svc-what>.container{padding-block:var(--space-section) 0}.svc-what{padding-bottom:var(--space-section)}.numbered{border-top:1px solid var(--color-text)}.numbered li{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--col-gap);padding:var(--space-5) 0;border-bottom:1px solid var(--color-border);align-items:baseline;display:grid}.numbered .n{color:var(--color-accent-text);grid-column:1/2}.numbered h3{grid-column:2/5}.numbered p{max-width:var(--measure);grid-column:5/12}.svc-code{margin-top:var(--space-8);grid-column:5/13}.code-figure{max-width:none}.code-figure figcaption{margin-bottom:var(--space-3);color:var(--color-text-secondary);font-family:var(--font-label);font-size:var(--text-label);font-weight:var(--weight-label);letter-spacing:var(--tracking-label);text-transform:uppercase}.code-figure pre{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);margin:0;overflow-x:auto}.code-scroll{margin-top:var(--space-2);font-size:var(--text-small);color:var(--color-text-secondary);display:none}@media (max-width:1279px){.code-scroll{display:block}}.dev .code-scroll{display:block}@media (max-width:767px){.team-links:empty{display:none}}.code-caption{margin-top:var(--space-3);font-size:var(--text-small);color:var(--color-text-secondary);max-width:var(--measure)}.svc-fit>.container{padding-block:var(--space-section) 0}.svc-fit{padding-bottom:var(--space-section)}.fit-title{grid-column:1/5}.fit-col h3{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-text)}.ticks li{padding:var(--space-2) 0 var(--space-2) 22px;position:relative}.ticks li:before{content:"";background:var(--color-text);width:8px;height:8px;position:absolute;top:.95em;left:0}.ticks-no li:before{box-shadow:inset 0 0 0 1.5px var(--color-text);background:0 0}.srow{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--col-gap);padding-block:var(--space-5);border-bottom:1px solid var(--color-border);color:var(--color-text);align-items:baseline;text-decoration:none;display:grid}.srow:hover{background:var(--color-surface);color:var(--color-text)}.s-name{font-family:var(--font-h3);font-size:var(--text-h3);font-weight:var(--weight-h3);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3);grid-column:1/5}.s-text{color:var(--color-text-secondary);grid-column:5/12}.srow .arrow{grid-column:12/13;place-self:center end}.srow:hover .s-name{color:var(--color-accent-text);text-decoration:underline;text-decoration-thickness:2px}.svc-index>.container{padding-block:var(--space-6) var(--space-section)}.svc-group+.svc-group{margin-top:var(--space-6)}.svc-group-head{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--col-gap);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-text);padding-top:var(--space-3);align-items:baseline;display:grid}.svc-group-head h2{color:var(--color-text-secondary);font-family:var(--font-label);font-size:var(--text-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);text-transform:uppercase;grid-column:1/5}.svc-group-head p{color:var(--color-text-secondary);grid-column:5/12}.eng-grid{column-gap:var(--col-gap);row-gap:var(--space-7);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.eng-grid li{padding-top:var(--space-4);border-top:1px solid var(--color-text)}.eng-grid h3{margin-bottom:var(--space-3);font-size:var(--text-lead);line-height:1.35}@media (max-width:767px){.eng-grid{grid-template-columns:minmax(0,1fr)}}.eng-grid:has(>li:last-child:nth-child(odd)){grid-template-columns:minmax(0,1fr)}.steps-3 .step{grid-column:span 4}@media (max-width:1023px){.steps-3 .step{grid-column:span 3}}@media (max-width:767px){.steps-3 .step{grid-column:1/-1}}.svc-versions .dl-head .ver-notes{margin-top:var(--space-6);grid-column:1/9}.ver-notes p+p{margin-top:var(--space-4)}.ver-notes p{max-width:var(--measure)}.faq-wide{grid-column:1/-1}.rel-cols{column-gap:var(--col-gap);row-gap:var(--space-7);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rel-cols-1{grid-template-columns:minmax(0,1fr)}.rel-col h3{margin-bottom:var(--space-4);font-size:var(--text-lead);line-height:1.35}.areas .area+.area{margin-top:var(--space-7);padding-top:var(--space-6);border-top:1px solid var(--color-border-2)}.areas h3{margin-bottom:var(--space-3)}.areas p{max-width:var(--measure)}.two-col .col-7{grid-column:1/8}.two-col .col-5{grid-column:8/13}.two-col h2{margin-bottom:var(--space-5);font-size:var(--text-h3);line-height:var(--leading-h3)}.two-col p{max-width:var(--measure)}.two-col p+p{margin-top:var(--space-4)}.col-sub{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.story-text{grid-column:1/9}.story-text p{max-width:var(--measure)}.story-text p+p{margin-top:var(--space-4)}.story-facts{grid-column:9/13;align-self:start}.fact-sheet{border-top:1px solid var(--color-text)}.fact-sheet>div{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.fact-sheet dt{font-family:var(--font-label);font-size:var(--text-label);font-weight:var(--weight-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-secondary)}.fact-sheet dd{font-weight:600}.story-facts p{margin-top:var(--space-4);font-size:var(--text-small)}@media (max-width:1023px){.svc-versions .dl-head .ver-notes,.faq-wide,.story-text,.story-facts,.two-col .col-7,.two-col .col-5{grid-column:1/-1}.story-facts{margin-top:var(--space-7)}.two-col .col-5{margin-top:var(--space-8)}}@media (max-width:767px){.rel-cols{grid-template-columns:minmax(0,1fr)}}.listing>.container{padding-block:var(--space-6) var(--space-section)}.hub-sections{gap:var(--space-2) var(--space-5);padding-bottom:var(--space-5);margin-bottom:var(--space-7);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.hub-sections a{font-family:var(--font-ui);font-size:var(--text-ui);line-height:var(--leading-ui);letter-spacing:var(--tracking-ui);align-items:center;gap:var(--space-2);min-height:44px;color:var(--color-text);font-weight:600;text-decoration:none;display:inline-flex}.hub-sections a:hover{text-decoration:underline}.chip-n,.chip-count{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-weight:400}.hub-sections .dot{background:var(--dot);width:10px;height:10px;margin:0}.rubric-featured{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--col-gap);row-gap:var(--space-7);display:grid}.rubric-featured-main{grid-column:span 8}.rubric-featured-sidebar{grid-column:span 4}.rubric-featured-main h2{font-size:var(--text-h2)}.rubric-featured-main .ins-lead{padding-top:var(--space-4);border-top:1px solid var(--color-text)}@media (max-width:1279px){.chip-n{display:none}}.ins-grid{margin-top:var(--space-8)}.rubric-featured-main .ins-grid{margin-top:var(--space-7)}.empty{padding-block:var(--space-7);color:var(--color-text-secondary)}.pagination{gap:var(--space-2);margin-top:var(--space-7);flex-wrap:wrap;display:flex}.pagination a,.pagination span{min-width:44px;min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-border);color:var(--color-text);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.pagination [aria-current]{background:var(--color-panel);color:var(--color-on-panel);border-color:var(--color-panel)}.pagination [aria-disabled]{color:var(--color-text-secondary)}.article-head-text{padding-block:var(--space-7) var(--space-8);grid-column:1/10}.article-cover{grid-column:5/13;margin:0}.article-cover img,.ins-cover img{width:100%;height:auto;display:block}.ins-cover{margin-bottom:var(--space-5);display:block}@media (max-width:1023px){.article-cover{grid-column:1/-1}}.article-head h1{margin-top:var(--space-4);font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2)}.byline{gap:var(--space-2) var(--space-5);margin-top:var(--space-5);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.article-body{padding-bottom:var(--space-section);border-top:1px solid var(--color-text)}.article-aside{padding-top:var(--space-7);grid-column:1/4}.article-aside .article-toc{margin-top:0}.article-aside .toc-disclosure{top:var(--space-5);position:sticky}.toc-summary{justify-content:space-between;align-items:center;gap:var(--space-4);cursor:pointer;min-height:44px;color:var(--color-text);list-style:none;display:flex}.toc-summary::-webkit-details-marker{display:none}.toc-disclosure[open] .faq-mark{transform:rotate(45deg)}.toc-disclosure{border-bottom:1px solid var(--color-border)}.toc-disclosure[open]>.toc-summary{margin-bottom:var(--space-2)}.toc-disclosure .article-toc{margin-block:0 var(--space-4)}@media (max-width:767px){.toc-disclosure .article-toc-title{display:none}}@supports not selector(::details-content){.toc-disclosure .article-toc-title{display:none}}@supports selector(::details-content){@media (min-width:768px){.toc-disclosure>.toc-summary{display:none}.toc-disclosure::details-content{content-visibility:visible;display:block}.toc-disclosure{border-bottom:0}.toc-disclosure .article-toc{margin-block:0 1.5rem}}}.article-main{padding-top:var(--space-7);grid-column:5/12}.article-toc{padding-left:0;padding-top:var(--space-3);border-left:0;border-top:1px solid var(--color-text)}.article-toc ol{font-size:var(--text-small);padding-left:0;list-style:none}.article-toc li{padding-block:3px}.article-toc a{color:var(--color-text);padding-block:0;display:inline}.article-toc li{min-height:28px}.article-tldr{max-width:var(--measure);margin-bottom:var(--space-8);padding:var(--space-5) var(--space-5) var(--space-4);background:var(--color-surface-2);border-top:2px solid var(--color-text)}.article-tldr h2{font-family:var(--font-label);font-size:var(--text-label);font-weight:var(--weight-label);letter-spacing:var(--tracking-label);text-transform:uppercase;margin-bottom:var(--space-3)}.article-tldr li+li{margin-top:var(--space-2)}.prose p,.prose li{max-width:var(--measure)}.prose>*+*{margin-top:1em}.prose h2{margin-top:var(--space-8);font-family:var(--font-h3);font-size:var(--text-h3);font-weight:var(--weight-h3);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3)}.prose h3{margin-top:var(--space-6);font-size:var(--text-lead);line-height:1.35}.prose ul,.prose ol,.article-sources ol,.article-tldr ul{padding-left:0;list-style-position:outside}.prose li+li{margin-top:.4em}.prose a[href^=http]{overflow-wrap:anywhere}.prose :not(pre)>code{background:var(--color-surface);padding:0 .25em;font-size:.9em}.prose pre{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border)}.prose blockquote{padding-left:var(--space-5);border-left:2px solid var(--color-text)}.article-faq,.article-sources{max-width:var(--measure);margin-top:var(--space-9);padding-top:var(--space-5);border-top:1px solid var(--color-text)}.article-faq h2,.article-sources h2{font-family:var(--font-h3);font-size:var(--text-h3);font-weight:var(--weight-h3);line-height:var(--leading-h3);margin-bottom:var(--space-4)}.article-faq h3{margin-top:var(--space-5);font-size:var(--text-lead);text-wrap:balance;line-height:1.35}.article-faq p{max-width:var(--measure);margin-top:var(--space-2)}.article-sources ol{font-size:var(--text-small)}.article-sources li+li{margin-top:var(--space-2)}.prose .heading-anchored{max-width:var(--measure);margin-top:var(--space-8);text-wrap:balance;display:block}.prose .heading-anchored h2{margin:0;display:inline}.heading-anchor{margin-left:var(--space-2);font-weight:400}.glossary-index{top:var(--space-5);max-height:calc(100vh - 2 * var(--space-5));grid-column:1/4;align-self:start;position:sticky;overflow-y:auto}.glossary-index ul{row-gap:2px;column-gap:var(--col-gap);font-size:var(--text-small);margin:0;padding:0;list-style:none;display:grid}.glossary-index a{min-height:28px;color:var(--color-text);align-items:center;display:inline-flex}.glossary-terms{grid-column:5/13}.glossary-term{padding-block:0 var(--space-7);margin-bottom:var(--space-7);border-bottom:1px solid var(--color-border);scroll-margin-top:var(--space-4)}.glossary-term h2{font-family:var(--font-h3);font-size:var(--text-h3);font-weight:var(--weight-h3);line-height:var(--leading-h3)}.glossary-q{margin-top:var(--space-1);color:var(--color-text-secondary)}.glossary-short{margin-top:var(--space-4);font-size:var(--text-lead);line-height:var(--leading-lead);max-width:var(--measure)}.glossary-short dfn{font-style:normal;font-weight:600}.glossary-term>p:not(.glossary-short):not(.glossary-q){margin-top:var(--space-4);max-width:var(--measure)}.glossary-rel{font-size:var(--text-small)}.glossary-term:target{background:var(--color-surface);box-shadow:-12px 0 0 var(--color-surface), -15px 0 0 var(--color-accent)}.facts-list{border-top:1px solid var(--color-text)}.facts-list>div{column-gap:var(--col-gap);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);grid-template-columns:repeat(8,minmax(0,1fr));display:grid}.facts-list dt{grid-column:1/3;font-weight:600}.facts-list dd{grid-column:3/9}.contact>.container{padding-block:0 var(--space-section)}.contact h2{font-family:var(--font-h3);font-size:var(--text-h3);line-height:var(--leading-h3);margin-bottom:var(--space-5)}.contact-main{grid-column:1/5}.contact-side{grid-column:5/13}.contact-side h2+*{margin-bottom:var(--space-8)}.contact-topic{margin-bottom:var(--space-4);font-weight:600}.contact-lines{margin-top:var(--space-4);color:var(--color-text-secondary)}.contact-lines-list{margin-top:var(--space-2);gap:var(--space-2) var(--space-5);flex-wrap:wrap;font-weight:600;display:flex}.contact-phones{margin-top:var(--space-6);border-top:1px solid var(--color-text)}.contact-phones li{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.contact-phones a{font-size:var(--text-lead)}.contact-phones span{color:var(--color-text-secondary);font-size:var(--text-small)}.contact-address{margin-top:var(--space-5);color:var(--color-text-secondary)}.contact-address-mail{margin-top:var(--space-3);font-size:var(--text-lead)}.contact-copy{align-items:center;column-gap:var(--space-4);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.copy-email{min-height:44px;font:inherit;font-size:var(--text-small);color:var(--color-text);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.copy-email[hidden]{display:none}.copy-email:hover{color:var(--color-accent-text);text-decoration-thickness:2px}.copy-status{font-size:var(--text-small);color:var(--color-text-secondary)}@media print{.contact-copy{display:none}}.contact-privacy{margin-top:var(--space-2);font-size:var(--text-small);color:var(--color-text-secondary)}.next-steps{counter-reset:step;border-top:1px solid var(--color-text)}.next-steps li{counter-increment:step;padding:var(--space-4) 0 var(--space-4) 44px;border-bottom:1px solid var(--color-border);position:relative}.next-steps li:before{content:counter(step, decimal-leading-zero);left:0;top:var(--space-4);color:var(--color-accent-text);font-family:var(--font-label);font-size:var(--text-label);font-weight:var(--weight-label);letter-spacing:var(--tracking-label);line-height:2;position:absolute}.contact-people{border-top:1px solid var(--color-text)}.contact-people li{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.not-found .container{padding-block:var(--space-9) var(--space-section)}.nf-text{grid-column:1/8}.nf-text .lead{margin-top:var(--space-5)}.nf-figure{grid-column:8/13;align-self:center}.stopped-svg{width:100%;height:auto;overflow:visible}@media (max-width:1023px){.hero-text,.architects,.facts-row,.fig1{grid-area:auto/1/auto/-1}.architects ul{grid-template-columns:repeat(6,minmax(0,1fr))}.architects li:first-child{grid-column:1/4}.architects li:last-child{grid-column:4/7}.fig1{margin-top:var(--space-8);grid-column:1/6}.statement,.sectors-body,.page-head-text,.article-head-text,.nf-text{grid-column:1/-1}.p-cols{display:none}.p-index .index:first-of-type{border-top:1px solid var(--color-text)}.p-name{grid-column:1/3}.p-text{padding-right:var(--space-7);grid-column:3/7}.p-ver{margin-top:var(--space-2);grid-column:3/7}.prow .arrow{position:absolute;top:34px;right:0}.dl-head h2{grid-column:1/-1}.dl-note{margin-top:var(--space-5);grid-column:1/5}.dl-key,.dl-links{grid-column:1/-1}.dl-links{margin-bottom:var(--space-7);grid-column:1/4}.dl-key li{grid-template-columns:repeat(6,minmax(0,1fr))}.k-when{grid-column:1/3}.k-fact{grid-column:3/7}.ruler{display:none}.how-head,.models,.models-label,.how-more{grid-column:1/-1}.models{margin-top:var(--space-3)}.steps{row-gap:var(--space-6);border-top:0}.step{padding-bottom:var(--space-4);border-top:1px solid var(--color-text);grid-column:span 3}.people-band .band-title,.people-band .band-body,.faq .band-title,.faq .band-body{grid-column:1/-1}.people-band .band-title,.faq .band-title{margin-bottom:var(--space-6)}.person{grid-template-columns:repeat(6,minmax(0,1fr))}.person-name{grid-column:1/3}.person-role,.person-leads{grid-column:3/7}.insights .ins-lead,.insights .ins-rows{grid-column:1/-1}.insights .ins-rows{margin-top:var(--space-7)}.cta-logo{grid-column:1/3;height:120px}.cta-body{grid-column:3/7}.lead-card{margin-top:var(--space-7);grid-column:1/4}.svc-figure{grid-column:1/6}.numbered h3,.numbered p{grid-column:2/7}.numbered p{margin-top:var(--space-2)}.svc-code{grid-column:1/-1}.fit-title{margin-bottom:var(--space-6);grid-column:1/-1}.fit-yes{grid-column:1/4}.fit-no{grid-column:4/7}.s-name{grid-column:1/3}.s-text{grid-column:3/6}.srow .arrow{grid-column:6/7}.svc-group-head h2{grid-column:1/3}.svc-group-head p{grid-column:3/7}.rubric-featured-main{grid-column:span 4}.rubric-featured-sidebar{grid-column:span 2}.article-aside,.article-main{grid-column:1/-1}.article-aside .toc-disclosure{position:static}.glossary-index{grid-column:1/-1;position:static}.glossary-index ul{column-gap:var(--col-gap);grid-template-columns:repeat(3,minmax(0,1fr))}.glossary-terms{grid-column:1/-1}.facts-list>div{grid-template-columns:repeat(6,minmax(0,1fr))}.facts-list dt{grid-column:1/3}.facts-list dd{grid-column:3/7}.contact-main,.contact-side{grid-column:1/-1}.contact-side{margin-top:var(--space-8)}.nf-figure{margin-top:var(--space-8);grid-column:1/5}}@media (max-width:767px){.hero .container{padding-top:var(--space-7)}.fig1{margin-top:var(--space-7);grid-column:1/-1}.fig-frame{aspect-ratio:480/146;border-right:2px solid var(--color-text);overflow:hidden}.fig1-svg{width:108.34%;max-width:none}.fig1-svg text{font-size:21px}.architects ul{display:block}.architects li+li{margin-top:14px}.facts-row{margin-top:28px}.prow,.srow,.numbered li,.person,.dl-key li,.facts-list>div{display:block}.prow{padding-block:22px 24px}.p-name{padding-right:var(--space-7)}.p-text{margin-top:var(--space-2);padding-right:0}.p-ver{margin-top:10px}.prow .arrow{top:26px}.srow{padding-right:var(--space-7);position:relative}.srow .arrow{position:absolute;top:30px;right:0}.s-text{margin-top:var(--space-2);display:block}.dl-note,.dl-links{grid-column:1/-1}.k-fact{margin-top:6px}.step{grid-column:1/-1}.person-role,.person-leads{margin-top:2px}.cta>.container{padding-block:var(--space-9)}.cta-logo{grid-column:1/-1;height:120px}.cta-body{grid-column:1/-1;margin-top:36px}.lead-card,.svc-figure,.fit-yes,.fit-no,.dl-links,.nf-figure{grid-column:1/-1}.svc-figure .fig-frame{aspect-ratio:auto;border-right:0;overflow:visible}.svc-figure .fig1-svg{width:100%}.svc-figure .fig1-svg text{font-size:18px}.svc-figure .fig1-svg.fig1-iso text{font-size:23px}.numbered p{margin-top:var(--space-2)}.rubric-featured-main,.rubric-featured-sidebar{grid-column:1/-1}.glossary-index ul{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-group-head{display:block}.svc-group-head p{margin-top:var(--space-2)}.facts-list dd{margin-top:2px}}@media print{.cta,.crumbs-row,.svc-related,.article+.band,.replay,.code-scroll,.arrow,.toc-disclosure{display:none!important}.article-sources a[href^=http]:after{content:" (" attr(href) ")";overflow-wrap:anywhere;font-size:.85em}.band-ink,.band-red,.band-warm{--color-text:#000;--brand:#000;--color-text-secondary:#333;--color-border:#999;--color-border-2:#999;--color-accent-text:#000;color:#000;background:0 0}}.dev-wrap{padding-block:var(--space-7) var(--space-section)}.dev{max-width:none}.dev h1{font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2);margin-bottom:var(--space-5)}.dev h2{margin-top:var(--space-9);margin-bottom:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-text);font-family:var(--font-h3);font-size:var(--text-h3);font-weight:var(--weight-h3);line-height:var(--leading-h3)}.dev h3{margin-top:var(--space-6);margin-bottom:var(--space-2);font-size:var(--text-lead);line-height:1.35}.dev p,.dev li{max-width:var(--measure)}.dev p+p,.dev p+ul,.dev ul+p,.dev p+pre,.dev pre+p,.dev table+p,.dev p+table{margin-top:var(--space-4)}.dev ul,.dev ol{margin-top:var(--space-3);padding-left:0;list-style-position:outside}.dev-lede{font-family:var(--font-lead);font-size:var(--text-lead);line-height:var(--leading-lead);color:var(--color-text-secondary)}.dev pre{max-width:100%;padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);overflow-x:auto}.dev :not(pre)>code{background:var(--color-surface);overflow-wrap:anywhere;padding:0 .25em;font-size:.9em}.table-scroll{max-width:100%;margin-top:var(--space-4);overflow-x:auto}.dev-table{border-collapse:collapse;width:100%;font-size:var(--text-small)}.dev-table code{white-space:nowrap}.dev-table th,.dev-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);text-align:start;vertical-align:top}.dev-table th{font-weight:var(--weight-bold);border-bottom-color:var(--color-text)}.dev-table th:first-child,.dev-table td:first-child{padding-left:0}.dev a[href^=mailto\:]{white-space:nowrap}@media (min-width:768px){.dev p code{white-space:nowrap}}@media (max-width:767px){.table-scroll{overflow-x:visible}.dev-table,.dev-table tbody,.dev-table tr,.dev-table td{width:100%;display:block}.dev-table thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dev-table tr{padding-block:var(--space-4);border-bottom:1px solid var(--color-border)}.dev-table td{border:0;padding:0}.dev-table td+td{margin-top:var(--space-2)}.dev-table td:before{content:attr(data-label);font-family:var(--font-label);font-size:var(--text-label);font-weight:var(--weight-label);letter-spacing:var(--tracking-label);line-height:var(--leading-label);text-transform:uppercase;color:var(--color-text-secondary);display:block}.dev-table code{white-space:normal;overflow-wrap:anywhere}.hub-sections{border-bottom:0;grid-template-columns:minmax(0,1fr);row-gap:0;padding-bottom:0;display:grid}.rubric-featured{row-gap:0}.rubric-featured-sidebar.ins-rows{border-top:0}.hub-sections li{border-bottom:1px solid var(--color-border)}.hub-sections a{width:100%;display:flex}.hub-sections .chip-count{margin-left:auto}}@media (max-width:1023px){.article-toc{border-top:0;padding-top:0}}.team-band>.container{padding-block:var(--space-section)}.team-band{padding-block:0}.team-head h2{grid-column:1/9}.team-note{grid-column:9/13}.team-grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--col-gap);margin-top:var(--space-9);row-gap:0;display:grid}.team-card{grid-column:span 4;grid-template-rows:subgrid;grid-row:span 5;align-content:start;row-gap:0;display:grid}.team-photo{border-radius:var(--radius-full);object-fit:cover;background:var(--color-bg);width:144px;height:144px;display:block}.team-initials{box-shadow:inset 0 0 0 1px var(--color-border-2);font-family:var(--font-emphasis);font-size:var(--text-h3);font-weight:var(--weight-emphasis);letter-spacing:.02em;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.team-photo-link{width:fit-content;margin-bottom:var(--space-5);line-height:0;text-decoration:none;display:block}.team-name{font-size:var(--text-lead);line-height:1.3}.team-name a{color:var(--color-text);text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px}.team-name a:hover{color:var(--color-accent-text);text-underline-offset:.14em;text-decoration:underline;text-decoration-thickness:2px}.team-role{margin-top:var(--space-1);font-size:var(--text-small);line-height:var(--leading-small);color:var(--color-text-secondary)}.team-meta{margin-top:var(--space-3);font-size:var(--text-small);line-height:var(--leading-small)}.team-leads,.team-langs{display:block}.team-langs{margin-top:var(--space-1)}.team-label{margin-right:var(--space-2);font-family:var(--font-label);font-size:var(--text-label);font-weight:var(--weight-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-secondary)}.team-links{box-sizing:content-box;min-height:44px;margin-top:var(--space-4);padding-bottom:var(--space-9)}.team-li{min-width:44px;min-height:44px;color:var(--color-text);justify-content:center;align-items:center;margin-left:-10px;display:inline-flex}.team-li:hover{color:var(--color-accent-text)}.li-icon{width:24px;height:24px}.li-bg{fill:currentColor}.li-fg{fill:var(--color-surface-2)}@media (max-width:1023px){.team-head h2,.team-note{grid-column:1/-1}.team-note{margin-top:var(--space-4)}.team-card{grid-column:span 3}}@media (max-width:767px){.team-grid{margin-top:var(--space-7)}.team-links{padding-bottom:var(--space-6)}.team-card{column-gap:var(--space-4);grid-area:auto/1/auto/-1;grid-template-rows:none;grid-template-columns:88px minmax(0,1fr);align-items:start;display:grid}.team-card>*{grid-column:2}.team-card>.team-photo-link{grid-area:1/1/span 5;margin-bottom:0}.team-card .team-photo{width:88px;height:88px}.team-initials{font-size:var(--text-lead)}}.person-page>.container{padding-block:var(--space-7) var(--space-section)}.person-page-photo{grid-column:1/5}.team-photo-lg{width:240px;height:240px}.team-photo-lg.team-initials{font-size:var(--text-h2)}.person-page-text{grid-column:5/13}.person-page-text h1{font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2)}.person-page-role{margin-top:var(--space-3);font-family:var(--font-lead);font-size:var(--text-lead);line-height:var(--leading-lead);color:var(--color-text-secondary)}.person-page-facts{margin-top:var(--space-6);border-top:1px solid var(--color-text)}.person-page-facts>div{column-gap:var(--col-gap);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);grid-template-columns:repeat(8,minmax(0,1fr));display:grid}.person-page-facts dt{font-family:var(--font-label);font-size:var(--text-label);font-weight:var(--weight-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-secondary);grid-column:1/3;padding-top:3px}.person-page-facts dd{grid-column:3/9}.person-page-connect{margin-top:var(--space-6)}.person-page-back{margin-top:var(--space-5);font-size:var(--text-small)}.person-page-back a{align-items:center;min-height:44px;display:inline-flex}@media (max-width:1023px){.person-page-photo{grid-column:1/3}.person-page-text{grid-column:3/7}.team-photo-lg{width:160px;height:160px}}@media (max-width:767px){.person-page-photo,.person-page-text{grid-column:1/-1}.person-page-text{margin-top:var(--space-5)}.team-photo-lg{width:120px;height:120px}.person-page-facts>div{display:block}.person-page-facts dd{margin-top:2px}.actions .btn{flex:100%}.dl-key .k-num{display:none}}.dates3{margin:var(--space-8) 0 0;column-gap:var(--col-gap);grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.d-card{min-width:0;padding:var(--space-5) 0;border-top:1px solid var(--color-text);flex-direction:column;gap:8px;display:flex;container-type:inline-size}.d-card p{margin:0}.d-state{font-family:var(--font-label);font-size:var(--text-label);font-weight:var(--weight-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-accent-text);align-self:flex-start;padding:1px 6px;box-shadow:inset 0 0 0 1px}.d-date{font-family:var(--font-display);font-size:var(--text-h2);font-size:min(var(--text-h2), 11.5cqi);font-weight:var(--weight-display);letter-spacing:-.02em;white-space:nowrap;line-height:1.05}@supports not (font-size:1cqi){.d-date{white-space:normal}}.d-name{font-weight:var(--weight-bold)}.d-what{color:var(--color-text-secondary)}.d-go{margin-top:auto}.d-go a{min-height:44px;font-family:var(--font-label);font-size:var(--text-label);font-weight:var(--weight-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.d-go a:hover{color:var(--color-accent-text)}.d-past{margin-top:var(--space-7)}.d-rows{margin:0;padding:0;list-style:none}.d-row{padding:var(--space-4) 0;border-top:1px solid var(--color-border)}.d-row p{margin:0}.d-row-when{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.d-row-date{font-weight:var(--weight-bold)}.d-row-what{color:var(--color-text-secondary);max-width:var(--measure);margin-top:4px}.d-earlier,.d-all{border-top:1px solid var(--color-border)}.d-all{margin-top:var(--space-7)}.d-earlier>summary,.d-all>summary{cursor:pointer;min-height:48px;font-family:var(--font-label);font-size:var(--text-label);font-weight:var(--weight-label);letter-spacing:var(--tracking-label);text-transform:uppercase;justify-content:space-between;align-items:center;list-style:none;display:flex}.d-earlier>summary::-webkit-details-marker{display:none}.d-all>summary::-webkit-details-marker{display:none}.d-earlier>summary:after,.d-all>summary:after{content:"+";font-size:22px;font-weight:400;line-height:1}.d-earlier[open]>summary:after,.d-all[open]>summary:after{content:"−"}.d-all .dl-key{border-top:0;margin-top:0}.dl-key .k-num{display:none}@media (max-width:1023px){.dates3{grid-template-columns:minmax(0,1fr)}.d-date{white-space:normal}}.footer-fold>summary{list-style:none}.footer-fold>summary::-webkit-details-marker{display:none}@media (min-width:768px){.footer-fold>summary{pointer-events:none}}@media (max-width:767px){.footer-grid{row-gap:0}.footer-grid>section{border-bottom:1px solid var(--color-plate-rule)}.footer-grid>section:last-child{border-bottom:0}.footer-fold>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:48px;display:flex}.footer-fold.fold-phone>summary:after{content:"+";color:var(--color-on-panel);font-size:22px;font-weight:400;line-height:1}.footer-fold.fold-phone[open]>summary:after{content:"−"}.footer-fold .footer-title{margin:0}.footer-fold .footer-list,.footer-fold:not(.fold-phone){padding-bottom:var(--space-4)}.cta-logo{height:56px}.cta h2{font-size:36px}.breadcrumbs-list li{display:none}.breadcrumbs-list li:nth-last-child(2){display:flex}.breadcrumbs-list li:first-child:nth-last-child(2){display:none}.breadcrumbs-list li:nth-last-child(2):before{content:none}.breadcrumbs-list li:nth-last-child(2) a:before{content:"";border-bottom:1.5px solid;border-left:1.5px solid;width:8px;height:8px;margin-right:10px;transform:rotate(45deg)}}.p-short{display:none}@media (max-width:767px){.hero .fig1,.hero .architects,.p-cols,.prow .p-text,.prow .p-ver{display:none}.p-short{font-size:var(--text-small);line-height:var(--leading-small);color:var(--color-text-secondary);grid-column:1;margin:4px 0 0;display:block}.prow{padding-block:var(--space-4);grid-template-columns:minmax(0,1fr) auto;align-items:center}.prow .p-name,.prow .p-short{grid-column:1}.prow .arrow{grid-area:1/2/3}.how .steps{margin-top:var(--space-6);border-top:0;grid-template-columns:minmax(0,1fr);row-gap:0}.how .step{column-gap:var(--space-2);padding:var(--space-4) 0;border-top:1px solid var(--color-border);grid-column:1/-1;grid-template-columns:40px minmax(0,1fr);display:grid}.how .step:before{display:none}.how .step .step-n{grid-row:1/3;margin:6px 0 0}.how .step h3{margin:0}.how .step>p:not(.step-n):not(.you-get){display:none}.how .step .you-get{margin:4px 0 0}.people-band .person-leads,.people-band .person-lang,.insights .ins-lead>p{display:none}}.svc-fit-in{margin-top:var(--space-9)}.fit-yes{grid-column:5/9}.fit-no{grid-column:9/13}.fit-no>summary{list-style:none}.fit-no>summary::-webkit-details-marker{display:none}.code-fold>summary{list-style:none}.code-fold>summary::-webkit-details-marker{display:none}@media (min-width:768px){.fit-no>summary,.code-fold>summary{pointer-events:none}}@media (min-width:1024px){.svc-what .numbered{column-gap:var(--col-gap);border-top:0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.svc-what .numbered li{padding:var(--space-5) 0;border-top:1px solid var(--color-text);border-bottom:0;display:block}.svc-what .numbered .n{margin-bottom:var(--space-2);display:block}.svc-what .numbered p{margin-top:var(--space-2)}}@media (min-width:768px) and (max-width:1023px){.fit-yes{grid-column:1/4}.fit-no{grid-column:4/7}}@media (max-width:767px){.fit-yes,.fit-no{grid-column:1/-1}.fit-no{margin-top:var(--space-6)}.fit-no>summary,.code-fold>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:48px;display:flex}details.fit-no>summary:after,.code-fold>summary:after{content:"+";font-size:22px;font-weight:400;line-height:1}details.fit-no[open]>summary:after,.code-fold[open]>summary:after{content:"−"}details.fit-no>summary h3{border:0;margin:0;padding:0}.numbered li{column-gap:var(--space-2);padding:var(--space-4) 0;grid-template-columns:36px minmax(0,1fr);display:grid}.numbered .n{grid-area:1/1/3;padding-top:4px}.numbered h3,.numbered p{grid-column:2}[aria-labelledby=rel-services] .irow-meta{display:none}}.anchor{top:calc(-1 * var(--nav-h,104px));visibility:hidden;display:block;position:relative}.area-more{margin-top:var(--space-6);border-top:1px solid var(--color-border-2)}.area-more>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:48px;list-style:none;display:flex}.area-more>summary::-webkit-details-marker{display:none}.area-more>summary:after{content:"+";font-size:22px;font-weight:400;line-height:1}.area-more[open]>summary:after{content:"−"}.area-more>summary h3{margin:0}@media (max-width:767px){.svc-group-head p{display:none}.team-card{column-gap:var(--space-3);padding-block:var(--space-3);grid-template-columns:56px minmax(0,1fr)}.team-card .team-photo{width:56px;height:56px}.team-card .team-meta{display:none}.team-card .team-links{min-height:0;margin-top:0;padding-bottom:0}.team-grid{margin-top:var(--space-6)}.team-photo-lg{width:96px;height:96px}.hub-sections{gap:var(--space-2);scrollbar-width:none;margin-inline:calc(-1 * var(--page-pad));padding:2px var(--page-pad) 0;border-bottom:0;flex-wrap:nowrap;display:flex;overflow-x:auto}.hub-sections::-webkit-scrollbar{display:none}.hub-sections li{border-bottom:0;flex:none}.hub-sections a{width:auto;padding:0 var(--space-3);box-shadow:inset 0 0 0 1px var(--color-border);display:inline-flex}.hub-sections .chip-count{display:none}}.d-state-none{visibility:hidden}@media (max-width:1023px){.d-state-none{display:none}}.fig1-svg .link .o rect,.fig1-svg .link .c path,.fig1-svg .link .c circle{transition:stroke var(--t-fast)}.fig1-svg .link.on .o rect,.fig1-svg .link.on .c .dash,.fig1-svg .link.on .c circle,.fig1-svg .link.on .c path{stroke:var(--color-accent)}.fig1-svg .hit{fill:#0000;stroke:none;cursor:pointer}.fig1-svg .hit:focus{outline:none}.fig1-svg .hit:focus-visible{stroke:var(--focus-ring);stroke-width:2px}.fig1-svg .hit:hover+.hit,.fig1-svg .hits:hover{cursor:pointer}@media (min-width:768px){.cta>.container{padding-block:var(--space-7)}.cta-logo{height:104px}.cta h2{font-size:var(--text-h2);line-height:var(--leading-h2)}.cta p{margin:var(--space-4) 0 var(--space-5)}.footer-grid{padding-block:var(--space-7) var(--space-6);row-gap:var(--space-6)}.footer-title{margin-bottom:var(--space-3)}.footer-list a{min-height:32px}.footer-bar{padding-block:var(--space-4) var(--space-5)}.footer-bar p,.footer-bar a{min-height:32px}}.cta h2 .w300{font-size:inherit;line-height:inherit}@media (min-width:768px){.footer-grid>section:first-child .footer-list{columns:2;column-gap:var(--col-gap);display:block}.footer-grid>section:first-child .footer-list li{break-inside:avoid}}@media (min-width:1024px){.footer-grid>section:first-child{grid-column:span 5}.footer-grid>section:nth-child(2),.footer-grid>section:nth-child(3){grid-column:span 2}.footer-grid>section:nth-child(4){grid-column:span 3}}@media (min-width:768px) and (max-width:1023px){.footer-grid>section:first-child{grid-column:1/-1}.footer-grid>section:nth-child(n+2){grid-column:span 2}}[data-rubric=integration]{--dot:var(--color-rubric-integration);--rubric:var(--color-rubric-integration);--rubric-text:var(--color-rubric-integration-text);--rubric-dim:var(--color-integration-dim)}[data-rubric=process-orchestration]{--dot:var(--color-rubric-process-orchestration);--rubric:var(--color-rubric-process-orchestration);--rubric-text:var(--color-rubric-process-orchestration-text);--rubric-dim:var(--color-process-orchestration-dim)}[data-rubric=java]{--dot:var(--color-rubric-java);--rubric:var(--color-rubric-java);--rubric-text:var(--color-rubric-java-text);--rubric-dim:var(--color-java-dim)}[data-rubric=service-management]{--dot:var(--color-rubric-service-management);--rubric:var(--color-rubric-service-management);--rubric-text:var(--color-rubric-service-management-text);--rubric-dim:var(--color-service-management-dim)}[data-rubric=ai-and-data]{--dot:var(--color-rubric-ai-and-data);--rubric:var(--color-rubric-ai-and-data);--rubric-text:var(--color-rubric-ai-and-data-text);--rubric-dim:var(--color-ai-and-data-dim)}