@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/IBMPlexSans-Regular.bd6SFrOp.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/_astro/IBMPlexSans-Italic.B25LVc5w.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_astro/IBMPlexSans-Medium.EGpM3nyD.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/IBMPlexSans-SemiBold.BIwogb46.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/IBMPlexSansCondensed-Regular.DoBBBDPK.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/IBMPlexSansCondensed-SemiBold.EtJ7BRXc.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/IBMPlexMono-Regular.B8PNYMTt.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_astro/IBMPlexMono-Medium.BhlEwVr3.woff2)format("woff2")}@layer reset{*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{margin:0;padding:0;list-style:none}body{min-block-size:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}p,li,figcaption{text-wrap:pretty}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture,svg,video{max-inline-size:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-block-size:10em}:target{scroll-margin-block:5ex}}@layer tokens{:root{--ink:#051c2c;--gray-700:#3d3d3d;--gray-500:#767676;--gray-300:#b0b0b0;--gray-150:#e6e6e6;--surface:#f4f7f6;--paper:#fff;--status-fail:#b42318;--font-sans:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;--font-condensed:"IBM Plex Sans Condensed", "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--font-weight-3:300;--font-weight-4:400;--font-weight-5:500;--font-weight-6:600;--font-lineheight-0:1.05;--font-lineheight-1:1.15;--font-lineheight-2:1.25;--font-lineheight-3:1.4;--font-lineheight-4:1.6;--font-lineheight-5:1.75;--font-letterspacing-0:-.02em;--font-letterspacing-1:-.01em;--font-letterspacing-2:0em;--font-letterspacing-3:.06em;--font-letterspacing-4:.13em;--font-size-0:.75rem;--font-size-1:1rem;--font-size-2:1.1rem;--font-size-3:1.25rem;--font-size-4:1.5rem;--font-size-5:2rem;--font-size-6:2.5rem;--font-size-7:3rem;--font-size-8:3.5rem;--font-size-00:.5rem;--size-1:.25rem;--size-2:.5rem;--size-3:1rem;--size-4:1.25rem;--size-5:1.5rem;--size-6:1.75rem;--size-7:2rem;--size-8:3rem;--size-9:4rem;--size-10:5rem;--size-11:7.5rem;--size-12:10rem;--size-13:15rem;--size-14:20rem;--size-15:30rem;--size-000:-.5rem;--size-00:-.25rem;--size-content-1:20ch;--size-content-2:45ch;--size-content-3:70ch;--radius-0:0px;--radius-1:2px;--radius-2:3px;--radius-3:6px;--border-size-1:1px;--border-size-2:2px;--border-size-3:3px;--ease-1:cubic-bezier(.25, 0, .5, 1);--ease-2:cubic-bezier(.25, 0, .4, 1);--ease-3:cubic-bezier(.25, 0, .3, 1);--duration-1:.15s;--duration-2:.25s;--duration-3:.4s;--layer-1:1;--layer-2:2;--layer-3:3;--layer-4:4;--layer-5:5;--font-size-fluid-000:clamp(.7378rem, .7438rem + -.0264vw, .72rem);--font-size-fluid-00:clamp(.8854rem, .8806rem + .0216vw, .9rem);--font-size-fluid-0:clamp(1.0625rem, 1.0417rem + .0926vw, 1.125rem);--font-size-fluid-1:clamp(1.275rem, 1.2312rem + .1944vw, 1.4063rem);--font-size-fluid-2:clamp(1.53rem, 1.4541rem + .3375vw, 1.7578rem);--font-size-fluid-3:clamp(1.836rem, 1.7156rem + .5352vw, 2.1973rem);--font-size-fluid-4:clamp(2.2032rem, 2.0221rem + .805vw, 2.7466rem);--font-size-fluid-5:clamp(2.6438rem, 2.3807rem + 1.1695vw, 3.4332rem);--size-fluid-1:clamp(.25rem, .2292rem + .0926vw, .3125rem);--size-fluid-2:clamp(.5625rem, .5625rem + 0vw, .5625rem);--size-fluid-3:clamp(.8125rem, .7917rem + .0926vw, .875rem);--size-fluid-4:clamp(1.0625rem, 1.0417rem + .0926vw, 1.125rem);--size-fluid-5:clamp(1.625rem, 1.6042rem + .0926vw, 1.6875rem);--size-fluid-6:clamp(2.125rem, 2.0833rem + .1852vw, 2.25rem);--size-fluid-7:clamp(3.1875rem, 3.125rem + .2778vw, 3.375rem);--size-fluid-8:clamp(4.25rem, 4.1667rem + .3704vw, 4.5rem);--size-fluid-9:clamp(6.375rem, 6.25rem + .5556vw, 6.75rem);--size-fluid-1-2:clamp(.25rem, .1458rem + .463vw, .5625rem);--size-fluid-2-3:clamp(.5625rem, .4583rem + .463vw, .875rem);--size-fluid-3-4:clamp(.8125rem, .7083rem + .463vw, 1.125rem);--size-fluid-4-5:clamp(1.0625rem, .8542rem + .9259vw, 1.6875rem);--size-fluid-5-6:clamp(1.625rem, 1.4167rem + .9259vw, 2.25rem);--size-fluid-6-7:clamp(2.125rem, 1.7083rem + 1.8519vw, 3.375rem);--size-fluid-7-8:clamp(3.1875rem, 2.75rem + 1.9444vw, 4.5rem);--size-fluid-8-9:clamp(4.25rem, 3.4167rem + 3.7037vw, 6.75rem);--size-fluid-4-6:clamp(1.0625rem, .6667rem + 1.7593vw, 2.25rem)}}@layer base{:root{color-scheme:light;--bg:var(--paper);--fg:var(--ink);--fg-muted:var(--gray-500);--fg-hover:var(--gray-700);--line:var(--gray-150);--line-strong:var(--gray-300);--tint:color-mix(in srgb, var(--fg) 6%, var(--bg))}html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;scroll-behavior:smooth}body{background-color:var(--bg);color:var(--fg);font-size:var(--font-size-fluid-0);line-height:var(--font-lineheight-4);font-variant-numeric:tabular-nums}:focus-visible{outline:var(--border-size-2) solid var(--fg);outline-offset:3px}::selection{background-color:var(--ink);color:var(--paper)}::placeholder{color:var(--fg-muted);opacity:1}hr{border:0;border-block-start:var(--border-size-1) solid var(--line);margin-block:var(--size-fluid-5)}img,video{block-size:auto}}@layer typography{h1,.h1{font-size:var(--font-size-fluid-5);font-weight:var(--font-weight-6);line-height:var(--font-lineheight-0);letter-spacing:var(--font-letterspacing-0);max-inline-size:20ch}h2,.h2{font-size:var(--font-size-fluid-4);font-weight:var(--font-weight-6);line-height:var(--font-lineheight-1);letter-spacing:var(--font-letterspacing-1);max-inline-size:28ch}h3,.h3{font-size:var(--font-size-fluid-2);font-weight:var(--font-weight-6);line-height:var(--font-lineheight-2);letter-spacing:var(--font-letterspacing-2)}h4,.h4{font-size:var(--font-size-fluid-1);font-weight:var(--font-weight-6);line-height:var(--font-lineheight-2)}.lead{font-size:var(--font-size-fluid-1);line-height:var(--font-lineheight-3)}small,.small{font-size:var(--font-size-fluid-00)}.eyebrow{font-size:var(--font-size-fluid-000);font-weight:var(--font-weight-6);line-height:var(--font-lineheight-3);letter-spacing:var(--font-letterspacing-4);text-transform:uppercase;color:var(--fg-muted)}.mono{font-family:var(--font-mono);font-size:var(--font-size-fluid-00);letter-spacing:.02em}strong,b{font-weight:var(--font-weight-6)}.num,.numeric{font-variant-numeric:tabular-nums}.prose>*{max-inline-size:var(--size-content-3)}.prose>:is(figure,table,.frame,.media-panel,.media-split,.grid,.switcher){max-inline-size:none}}@layer layout{[data-bg]{background-color:var(--bg);color:var(--fg)}[data-bg=paper]{--bg:var(--paper);--fg:var(--ink);--fg-muted:var(--gray-500);--fg-hover:var(--gray-700);--line:var(--gray-150);--line-strong:var(--gray-300)}[data-bg=surface]{--bg:var(--surface);--fg:var(--ink);--fg-muted:var(--gray-500);--fg-hover:var(--gray-700);--line:var(--gray-150);--line-strong:var(--gray-300)}[data-bg=ink]{--bg:var(--ink);--fg:var(--paper);--fg-muted:color-mix(in srgb, var(--paper) 62%, transparent);--fg-hover:var(--gray-150);--line:color-mix(in srgb, var(--paper) 18%, transparent);--line-strong:color-mix(in srgb, var(--paper) 40%, transparent)}.section{padding-block:var(--size-fluid-7)}.section[data-tight]{padding-block:var(--size-fluid-5)}.wrapper{--wrapper-max:75rem;max-inline-size:var(--wrapper-max);padding-inline:var(--size-fluid-4-5);margin-inline:auto}.stack{flex-direction:column;justify-content:flex-start;display:flex}.stack>*{margin-block:0}.stack>*+*{margin-block-start:var(--space,var(--size-fluid-4))}.cluster{gap:var(--gap,var(--size-fluid-3));justify-content:var(--justify,flex-start);align-items:var(--align,center);flex-wrap:wrap;display:flex}.sidebar{gap:var(--gap,var(--size-fluid-5));flex-wrap:wrap;display:flex}.sidebar>:first-child{flex-basis:var(--side-width,20rem);flex-grow:1}.sidebar>:last-child{min-inline-size:var(--content-min,50%);flex-grow:999;flex-basis:0}.switcher{gap:var(--gap,var(--size-fluid-4));flex-wrap:wrap;display:flex}.switcher>*{flex-grow:1;flex-basis:calc((var(--threshold,40rem) - 100%) * 999)}.center{box-sizing:content-box;max-inline-size:var(--measure,var(--size-content-3));margin-inline:auto}.cover{min-block-size:var(--min-height,60vh);padding:var(--space,var(--size-fluid-5));flex-direction:column;display:flex}.cover>*{margin-block:var(--size-fluid-3)}.cover>:first-child:not(.cover__center){margin-block-start:0}.cover>:last-child:not(.cover__center){margin-block-end:0}.cover>.cover__center{margin-block:auto}.grid{gap:var(--gap,var(--size-fluid-4));grid-template-columns:repeat(auto-fit, minmax(min(var(--min,16rem), 100%), 1fr));display:grid}.frame{aspect-ratio:var(--ratio,16 / 9);justify-content:center;align-items:center;display:flex;overflow:hidden}.frame>img,.frame>video,.frame>picture,.frame>picture>img{object-fit:cover;block-size:100%;inline-size:100%}.reel{gap:var(--gap,var(--size-fluid-3));scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.reel>*{scroll-snap-align:start;flex:none}}@layer components{a{color:inherit;text-decoration:underline;text-decoration-thickness:var(--border-size-1);text-underline-offset:3px;transition:text-decoration-thickness var(--duration-1) var(--ease-1);text-decoration-color:currentColor}a:hover{text-decoration-thickness:var(--border-size-2)}a:has(>img),a:has(>svg),a:has(>picture){text-decoration:none}.link-arrow{font-weight:var(--font-weight-6);white-space:nowrap}.link-arrow:after{content:" →"}.button{justify-content:center;align-items:center;gap:var(--size-2);min-block-size:2.75rem;padding:var(--size-2) var(--size-4);border:var(--border-size-2) solid var(--fg);border-radius:var(--radius-1);background-color:var(--fg);color:var(--bg);font-weight:var(--font-weight-6);font-size:var(--font-size-fluid-00);letter-spacing:.005em;cursor:pointer;transition:background-color var(--duration-1) var(--ease-2), border-color var(--duration-1) var(--ease-2), color var(--duration-1) var(--ease-2);line-height:1;text-decoration:none;display:inline-flex}.button:hover{background-color:var(--fg-hover);border-color:var(--fg-hover);text-decoration:none}.button[data-variant=secondary]{color:var(--fg);background-color:#0000}.button[data-variant=secondary]:hover{background-color:var(--fg);border-color:var(--fg);color:var(--bg)}.button:disabled,.button[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.button-group{gap:var(--size-3);flex-wrap:wrap;align-items:center;display:flex}.site-header{padding-block:var(--size-4);border-block-end:var(--border-size-1) solid var(--line)}.site-header>.wrapper{justify-content:space-between;align-items:center;gap:var(--size-4) var(--size-6);flex-wrap:wrap;display:flex}.site-header .wordmark{inline-size:clamp(7.5rem,12vw,9.375rem);color:var(--fg);display:block}.wordmark>svg,.wordmark>img{block-size:auto;inline-size:100%;display:block}.nav{gap:var(--size-5);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.nav a{padding-block:var(--size-1);border-block-end:var(--border-size-2) solid transparent;font-size:var(--font-size-fluid-00);font-weight:var(--font-weight-5);transition:border-color var(--duration-1) var(--ease-1);text-decoration:none;display:inline-block}.nav a:hover{border-block-end-color:var(--line-strong)}.nav a[aria-current=page]{border-block-end-color:var(--fg)}.lang-switch{font-size:var(--font-size-fluid-00);font-weight:var(--font-weight-5)}.site-footer{padding-block:var(--size-fluid-6)}.site-footer>.wrapper{gap:var(--size-fluid-5);grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));align-items:start;display:grid}.site-footer .wordmark{inline-size:5.25rem;color:var(--fg);display:block}.site-footer .nav{gap:var(--size-2);flex-direction:column}.site-footer .nav a{font-weight:var(--font-weight-4);border:0;padding:0;text-decoration:underline}.site-footer .legal{font-size:var(--font-size-fluid-00);color:var(--fg-muted)}.site-footer .credentials{margin-block-start:var(--size-3)}.card{border:var(--border-size-1) solid var(--line);border-radius:var(--radius-1);background-color:var(--bg);color:var(--fg);transition:border-color var(--duration-1) var(--ease-1);flex-direction:column;display:flex}.card:hover,.card:focus-within{border-color:var(--fg)}.card__body{gap:var(--size-2);padding:var(--size-fluid-4);flex-direction:column;display:flex}.card__title{font-size:var(--font-size-fluid-1);font-weight:var(--font-weight-6);line-height:var(--font-lineheight-2)}.card__meta{font-family:var(--font-mono);font-size:var(--font-size-fluid-000);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-muted)}.card__body>p{color:var(--fg)}.card--media>.frame{border-block-end:var(--border-size-1) solid var(--line);border-start-start-radius:var(--radius-1);border-start-end-radius:var(--radius-1)}.card--rule{border:0;border-block-start:var(--border-size-1) solid var(--fg);background-color:#0000;border-radius:0}.card--rule>.card__body{padding-inline:0;padding-block:var(--size-3) 0}.card--link{position:relative}.card--link a:after{content:"";position:absolute;inset:0}.form{gap:var(--size-fluid-4);display:grid}.field{gap:var(--size-2);flex-direction:column;display:flex}.field>label,.field__label{font-size:var(--font-size-fluid-000);font-weight:var(--font-weight-6);letter-spacing:var(--font-letterspacing-3);text-transform:uppercase;color:var(--fg-muted)}.field :is(input:not([type=checkbox],[type=radio]),textarea,select){inline-size:100%;padding:var(--size-2) var(--size-3);border:var(--border-size-1) solid var(--line-strong);border-radius:var(--radius-1);background-color:var(--bg);color:var(--fg);font-size:var(--font-size-fluid-00);line-height:var(--font-lineheight-3)}.field :is(input,textarea,select):focus-visible{border-color:var(--fg);outline:var(--border-size-1) solid var(--fg);outline-offset:0}.field__hint{font-size:var(--font-size-fluid-000);color:var(--fg-muted)}.field[data-invalid] :is(input,textarea,select){border:var(--border-size-2) solid var(--fg)}.field__error{align-items:center;gap:var(--size-2);font-size:var(--font-size-fluid-000);font-weight:var(--font-weight-6);display:inline-flex}.field__error:before{content:"";border:var(--border-size-2) solid currentcolor;border-radius:var(--radius-1);block-size:.6em;inline-size:.6em}.field[data-severity=critical] .field__error{color:var(--status-fail)}.field[data-severity=critical] :is(input,textarea,select){border-color:var(--status-fail)}.checkbox{gap:var(--size-2);font-size:var(--font-size-fluid-00);align-items:flex-start;display:flex}.checkbox input{block-size:1.1em;inline-size:1.1em;accent-color:var(--ink);margin-block-start:.2em}.credentials{gap:var(--size-3) var(--size-fluid-5);font-family:var(--font-mono);font-size:var(--font-size-fluid-00);letter-spacing:.02em;flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.credentials li{gap:var(--size-2);white-space:nowrap;align-items:baseline;display:inline-flex}.credentials b,.credentials strong{font-weight:var(--font-weight-5)}.credentials-band{padding-block:var(--size-4)}.media-panel{min-block-size:20rem;display:grid;position:relative}.media-panel>.frame{aspect-ratio:auto;grid-area:1/1;block-size:100%;inline-size:100%}.media-panel__panel{z-index:var(--layer-1);margin:var(--size-fluid-4);max-inline-size:min(28rem, calc(100% - 2 * var(--size-fluid-4)));padding:var(--size-fluid-4);grid-area:1/1;place-self:end start}.media-panel--top .media-panel__panel{align-self:start}.media-panel__panel>*+*{margin-block-start:var(--size-2)}.media-panel__title{font-size:var(--font-size-fluid-2);font-weight:var(--font-weight-6);line-height:var(--font-lineheight-1);letter-spacing:var(--font-letterspacing-1)}.media-panel__meta{font-family:var(--font-mono);font-size:var(--font-size-fluid-000);letter-spacing:.04em;color:var(--fg-muted)}.media-split{gap:var(--size-fluid-5);grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));align-items:center;display:grid}.media-split>.frame{--ratio:4 / 3}.portrait{display:block}.portrait img{filter:grayscale();transition:filter var(--duration-3) var(--ease-2)}.portrait:hover img,.portrait:focus-within img{filter:none}.portrait>.frame{--ratio:4 / 5}.portrait figcaption{margin-block-start:var(--size-2)}.portrait__name{font-weight:var(--font-weight-6);display:block}.portrait__role{font-size:var(--font-size-fluid-00);color:var(--fg-muted);display:block}.stats{gap:var(--size-fluid-5);grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),1fr));margin:0;padding:0;list-style:none;display:grid}.stat{gap:var(--size-1);border-block-start:var(--border-size-1) solid var(--line-strong);flex-direction:column;padding-block-start:var(--size-3);display:flex}.stat__value{font-size:var(--font-size-fluid-4);font-weight:var(--font-weight-6);line-height:var(--font-lineheight-0);letter-spacing:var(--font-letterspacing-0);font-variant-numeric:tabular-nums}.stat__label{font-size:var(--font-size-fluid-000);font-weight:var(--font-weight-6);letter-spacing:var(--font-letterspacing-4);text-transform:uppercase;color:var(--fg-muted)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;inline-size:100%;font-size:var(--font-size-fluid-00)}th,td{padding:var(--size-2) var(--size-3);border-block-end:var(--border-size-1) solid var(--line);text-align:start;vertical-align:top}th{font-size:var(--font-size-fluid-000);font-weight:var(--font-weight-6);letter-spacing:var(--font-letterspacing-3);text-transform:uppercase;color:var(--fg-muted)}thead th{border-block-end-color:var(--fg);vertical-align:bottom}th .u{font-weight:var(--font-weight-4);letter-spacing:0;text-transform:none;color:var(--fg-muted);display:block}td.num,th.num{text-align:end;font-variant-numeric:tabular-nums}table.dense{font-family:var(--font-condensed)}table.dense thead th{font-family:var(--font-sans)}tr.selected td{background-color:var(--tint);font-weight:var(--font-weight-6)}.status-pass,.status-fail{font-weight:var(--font-weight-6);white-space:nowrap}.status-pass:before,.status-fail:before{content:"";block-size:.7em;inline-size:.7em;border:var(--border-size-2) solid var(--fg);border-radius:var(--radius-2);vertical-align:-.05em;margin-inline-end:var(--size-2);display:inline-block}.status-pass:before{background-color:var(--fg)}figure{margin:0}figcaption{font-size:var(--font-size-fluid-000);line-height:var(--font-lineheight-3);color:var(--fg-muted);margin-block-start:var(--size-2)}figcaption .label{font-weight:var(--font-weight-6);letter-spacing:var(--font-letterspacing-3);text-transform:uppercase;color:var(--fg);margin-inline-end:var(--size-2)}.chart{border:var(--border-size-1) solid var(--line);block-size:auto;inline-size:100%;display:block}.chart text{font-family:var(--font-sans);font-variant-numeric:tabular-nums}.callout{padding:var(--size-3) var(--size-4);border-inline-start:var(--border-size-3) solid var(--fg);background-color:var(--tint)}.callout>*+*{margin-block-start:var(--size-2)}.wordmark--lg{inline-size:clamp(15rem,28vw,22rem);color:var(--fg);display:block}.wordmark--mark{inline-size:var(--size-7);color:var(--fg);display:block}.form :is(input,select,textarea,button):disabled{color:var(--fg-muted);background-color:var(--tint);border-color:var(--line);cursor:not-allowed}.hero-media>.frame img{object-position:50% 32%}}@layer utilities{.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--fg-muted)}.text-center{text-align:center}.measure{max-inline-size:var(--size-content-3)}.nowrap{white-space:nowrap}.hidden{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:0s;animation-duration:0s;animation-iteration-count:1}}}
