:root{--cds-white:#fff;--cds-gray-10:#f4f4f4;--cds-gray-20:#e0e0e0;--cds-gray-30:#c6c6c6;--cds-gray-40:#a8a8a8;--cds-gray-50:#8d8d8d;--cds-gray-60:#6f6f6f;--cds-gray-65:#5e5e5e;--cds-gray-70:#525252;--cds-gray-80:#393939;--cds-gray-85:#353535;--cds-gray-90:#262626;--cds-gray-100:#161616;--cds-blue-10:#edf5ff;--cds-blue-20:#d0e2ff;--cds-blue-30:#a6c8ff;--cds-blue-40:#78a9ff;--cds-blue-50:#4589ff;--cds-blue-60:#0f62fe;--cds-blue-70:#0043ce;--cds-blue-80:#002d9c;--cds-blue-90:#001d6c;--cds-blue-100:#001141;--cds-red-60:#da1e28;--cds-red-80:#750e13;--cds-green-50:#24a148;--cds-green-60:#198038;--cds-yellow-20:#fdd13a;--cds-yellow-30:#f1c21b;--cds-purple-60:#8a3ffc;--cds-purple-70:#6929c4;--cds-teal-40:#08bdba;--cds-teal-60:#007d79;--cds-cyan-50:#1192e8;--cds-magenta-60:#d02670;--cds-tag-blue-bg:#d0e2ff;--cds-tag-blue-fg:#002d9c;--cds-tag-cyan-bg:#bae6ff;--cds-tag-cyan-fg:#003a6d;--cds-tag-teal-bg:#9ef0f0;--cds-tag-teal-fg:#022b30;--cds-tag-green-bg:#a7f0ba;--cds-tag-green-fg:#022d0d;--cds-tag-magenta-bg:#ffd6e8;--cds-tag-magenta-fg:#740937;--cds-tag-purple-bg:#e8daff;--cds-tag-purple-fg:#491d8b;--cds-tag-red-bg:#ffd7d9;--cds-tag-red-fg:#750e13;--cds-tag-warm-bg:#e5e5e5;--cds-tag-warm-fg:#161616;--cds-tag-cool-bg:#dde1e6;--cds-tag-cool-fg:#161616;--cds-background:var(--cds-white);--cds-layer-01:var(--cds-gray-10);--cds-layer-02:var(--cds-white);--cds-layer-03:var(--cds-gray-10);--cds-layer-accent-01:var(--cds-gray-20);--cds-field-01:var(--cds-gray-10);--cds-field-02:var(--cds-white);--cds-border-subtle:var(--cds-gray-20);--cds-border-subtle-01:var(--cds-gray-20);--cds-border-strong:var(--cds-gray-50);--cds-border-inverse:var(--cds-gray-100);--cds-border-interactive:var(--cds-blue-60);--cds-text-primary:var(--cds-gray-100);--cds-text-secondary:var(--cds-gray-70);--cds-text-placeholder:var(--cds-gray-50);--cds-text-helper:var(--cds-gray-60);--cds-text-on-color:var(--cds-white);--cds-text-inverse:var(--cds-white);--cds-text-error:var(--cds-red-60);--cds-link-primary:var(--cds-blue-60);--cds-link-primary-hover:var(--cds-blue-70);--cds-link-visited:var(--cds-purple-70);--cds-link-inverse:var(--cds-blue-40);--cds-interactive:var(--cds-blue-60);--cds-focus:var(--cds-blue-60);--cds-focus-inset:var(--cds-white);--cds-button-primary:var(--cds-blue-60);--cds-button-primary-hover:var(--cds-blue-70);--cds-button-primary-active:#002d9c;--cds-button-secondary:var(--cds-gray-80);--cds-button-secondary-hover:var(--cds-gray-100);--cds-button-tertiary:var(--cds-blue-60);--cds-button-tertiary-hover:var(--cds-blue-70);--cds-button-danger:var(--cds-red-60);--cds-button-disabled:var(--cds-gray-30);--cds-support-error:var(--cds-red-60);--cds-support-warning:var(--cds-yellow-30);--cds-support-success:var(--cds-green-50);--cds-support-info:var(--cds-blue-60);--cds-status-open-bg:#defbe6;--cds-status-open-fg:#044317;--cds-status-open-border:#6fdc8c;--sh-keyword:#9f1853;--sh-string:#0e6027;--sh-comment:#6f6f6f;--sh-identifier:#161616;--sh-class:#6929c4;--sh-property:#0043ce;--sh-sign:#393939;--sh-entity:#8a3800;--sh-jsxliterals:#6929c4;--cds-font-sans:"IBM Plex Sans",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--cds-font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--cds-weight-light:300;--cds-weight-regular:400;--cds-weight-medium:500;--cds-weight-semibold:600;--cds-type-code-01:400 12px/1.333 var(--cds-font-mono);--cds-type-code-02:400 14px/1.43 var(--cds-font-mono);--cds-type-label-01:400 12px/1.333 var(--cds-font-sans);--cds-type-label-02:400 14px/1.29 var(--cds-font-sans);--cds-type-helper-01:400 12px/1.333 var(--cds-font-sans);--cds-type-helper-02:400 14px/1.29 var(--cds-font-sans);--cds-type-body-01:400 14px/1.43 var(--cds-font-sans);--cds-type-body-02:400 16px/1.5 var(--cds-font-sans);--cds-type-heading-01:600 14px/1.43 var(--cds-font-sans);--cds-type-heading-02:600 16px/1.5 var(--cds-font-sans);--cds-type-heading-03:400 20px/1.4 var(--cds-font-sans);--cds-type-heading-04:400 28px/1.29 var(--cds-font-sans);--cds-type-heading-05:400 32px/1.25 var(--cds-font-sans);--cds-type-heading-06:300 42px/1.19 var(--cds-font-sans);--cds-type-heading-07:300 54px/1.2 var(--cds-font-sans);--cds-type-fluid-04:300 42px/1.19 var(--cds-font-sans);--cds-type-fluid-05:300 54px/1.2 var(--cds-font-sans);--cds-type-fluid-06:300 60px/1.2 var(--cds-font-sans);--cds-letter-spacing-body:0.16px;--cds-letter-spacing-label:0.32px;--cds-letter-spacing-display:-0.64px;--cds-letter-spacing-hero:-0.96px;--cds-spacing-01:2px;--cds-spacing-02:4px;--cds-spacing-03:8px;--cds-spacing-04:12px;--cds-spacing-05:16px;--cds-spacing-06:24px;--cds-spacing-07:32px;--cds-spacing-08:40px;--cds-spacing-09:48px;--cds-spacing-10:64px;--cds-spacing-11:80px;--cds-spacing-12:96px;--cds-spacing-13:160px;--cds-radius-00:0;--cds-radius-pill:9999px;--cds-shadow-00:none;--cds-shadow-01:0 1px 0 0 var(--cds-gray-20);--cds-shadow-02:0 2px 6px 0 rgba(0,0,0,.2);--cds-shadow-03:0 4px 16px 0 rgba(0,0,0,.22);--cds-duration-fast-01:70ms;--cds-duration-fast-02:110ms;--cds-duration-moderate-01:150ms;--cds-duration-moderate-02:240ms;--cds-duration-slow-01:400ms;--cds-duration-slow-02:700ms;--cds-ease-productive:cubic-bezier(0.2,0,0.38,0.9);--cds-ease-expressive:cubic-bezier(0.4,0.14,0.3,1);--cds-ease-standard:cubic-bezier(0.5,0,0.1,1);--cds-size-sm:32px;--cds-size-md:40px;--cds-size-lg:48px;--cds-size-xl:64px;--cds-header-height:48px;--cds-tap-min:44px;--cds-content-grid-max:1584px;--cds-content-prose-max:720px;--bg:var(--cds-background);--bg-elev:var(--cds-layer-01);--bg-muted:var(--cds-gray-10);--bg-code:var(--cds-gray-100);--fg:var(--cds-text-primary);--fg-strong:var(--cds-text-primary);--fg-muted:var(--cds-text-secondary);--fg-subtle:var(--cds-text-helper);--fg-faint:var(--cds-gray-50);--border:var(--cds-border-subtle);--border-soft:var(--cds-gray-20);--divider:var(--cds-border-subtle);--accent:var(--cds-blue-60);--accent-hover:var(--cds-blue-70);--accent-tint:rgba(15,98,254,.08);--accent-soft-bg:var(--cds-blue-10);--accent-soft-fg:var(--cds-blue-80);--accent-soft-border:var(--cds-blue-20);--accent-dot:var(--cds-green-50);--focus-ring:var(--cds-focus);--teal-50:var(--cds-blue-10);--teal-100:var(--cds-blue-20);--teal-200:var(--cds-blue-30);--teal-300:var(--cds-blue-40);--teal-400:var(--cds-blue-40);--teal-500:var(--cds-blue-50);--teal-600:var(--cds-blue-60);--teal-700:var(--cds-blue-70);--teal-800:var(--cds-blue-80);--teal-900:var(--cds-blue-100);--blue-50:var(--cds-blue-10);--blue-100:var(--cds-blue-20);--blue-200:var(--cds-blue-30);--blue-300:var(--cds-blue-40);--blue-400:var(--cds-blue-40);--blue-500:var(--cds-blue-50);--blue-600:var(--cds-blue-60);--blue-700:var(--cds-blue-70);--blue-800:var(--cds-blue-80);--blue-900:var(--cds-blue-100);--emerald-700:var(--cds-blue-70);--emerald-900:var(--cds-blue-100);--neutral-50:var(--cds-white);--neutral-100:var(--cds-gray-10);--neutral-200:var(--cds-gray-20);--neutral-300:var(--cds-gray-30);--neutral-400:var(--cds-gray-50);--neutral-500:var(--cds-gray-60);--neutral-600:var(--cds-gray-70);--neutral-700:var(--cds-gray-80);--neutral-800:var(--cds-gray-90);--neutral-900:var(--cds-gray-100);--ink-light:var(--cds-gray-100);--ink-dark:var(--cds-gray-10);--bg-dark:var(--cds-gray-100);--selection-bg:var(--cds-blue-20);--selection-fg:var(--cds-blue-80);--page-glow:none;--font-display:var(--cds-font-sans);--font-body:var(--cds-font-sans);--font-tight:var(--cds-font-sans);--font-mono:var(--cds-font-mono);--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:28px;--text-3xl:32px;--text-4xl:42px;--text-5xl:54px;--weight-regular:var(--cds-weight-regular);--weight-medium:var(--cds-weight-medium);--weight-semi:var(--cds-weight-semibold);--weight-bold:700;--leading-tight:1.2;--leading-snug:1.29;--leading-normal:1.43;--leading-relaxed:1.5;--leading-loose:1.625;--tracking-tight:-0.32px;--tracking-normal:0;--tracking-wide:0.16px;--tracking-wider:0.32px;--r-xs:0;--r-sm:0;--r-md:0;--r-lg:0;--r-xl:0;--r-2xl:0;--r-full:9999px;--space-1:var(--cds-spacing-02);--space-2:var(--cds-spacing-03);--space-3:var(--cds-spacing-04);--space-4:var(--cds-spacing-05);--space-5:20px;--space-6:var(--cds-spacing-06);--space-8:var(--cds-spacing-07);--space-10:var(--cds-spacing-08);--space-12:var(--cds-spacing-09);--content-max:var(--cds-content-prose-max);--frame-max:var(--cds-content-prose-max);--tap-min:var(--cds-tap-min);--shadow-sm:var(--cds-shadow-01);--shadow-md:var(--cds-shadow-02);--shadow-lg:var(--cds-shadow-03);--shadow-glow:var(--cds-shadow-02);--glass-bg:var(--cds-layer-01);--glass-border:var(--cds-border-subtle);--glass-shadow:var(--cds-shadow-00);--dur-fast:var(--cds-duration-fast-02);--dur-base:var(--cds-duration-moderate-02);--dur-slow:var(--cds-duration-slow-01);--ease-out:var(--cds-ease-productive);--ease-in-out:var(--cds-ease-standard)}.dark,:root[data-theme=dark]{--cds-background:var(--cds-gray-100);--cds-layer-01:var(--cds-gray-90);--cds-layer-02:var(--cds-gray-80);--cds-layer-03:var(--cds-gray-70);--cds-layer-accent-01:var(--cds-gray-80);--cds-field-01:var(--cds-gray-90);--cds-field-02:var(--cds-gray-80);--cds-border-subtle:var(--cds-gray-80);--cds-border-subtle-01:var(--cds-gray-80);--cds-border-strong:var(--cds-gray-60);--cds-border-inverse:var(--cds-gray-10);--cds-border-interactive:var(--cds-blue-50);--cds-text-primary:var(--cds-gray-10);--cds-text-secondary:var(--cds-gray-30);--cds-text-placeholder:var(--cds-gray-50);--cds-text-helper:var(--cds-gray-50);--cds-text-on-color:var(--cds-white);--cds-text-inverse:var(--cds-gray-100);--cds-link-primary:var(--cds-blue-40);--cds-link-primary-hover:var(--cds-blue-30);--cds-interactive:var(--cds-blue-40);--cds-focus:var(--cds-blue-40);--cds-focus-inset:var(--cds-gray-100);--cds-button-primary:var(--cds-blue-60);--cds-button-primary-hover:var(--cds-blue-70);--cds-button-secondary:var(--cds-gray-60);--cds-button-secondary-hover:var(--cds-gray-65);--cds-button-tertiary:var(--cds-white);--cds-button-tertiary-hover:var(--cds-gray-10);--cds-status-open-bg:rgba(36,161,72,.2);--cds-status-open-fg:#6fdc8c;--cds-status-open-border:#6fdc8c;--bg:var(--cds-background);--bg-elev:var(--cds-layer-01);--bg-muted:var(--cds-layer-02);--bg-code:var(--cds-gray-100);--fg:var(--cds-text-primary);--fg-strong:var(--cds-text-primary);--fg-muted:var(--cds-text-secondary);--fg-subtle:var(--cds-text-helper);--border:var(--cds-border-subtle);--border-soft:var(--cds-gray-80);--divider:var(--cds-border-subtle);--accent:var(--cds-blue-40);--accent-hover:var(--cds-blue-30);--accent-tint:rgba(120,169,255,.1);--accent-soft-bg:rgba(15,98,254,.2);--accent-soft-fg:var(--cds-blue-20);--accent-soft-border:rgba(15,98,254,.3);--focus-ring:var(--cds-focus);--glass-bg:var(--cds-layer-01);--glass-border:var(--cds-border-subtle);--selection-bg:rgba(15,98,254,.4);--selection-fg:var(--cds-white);--cds-tag-blue-bg:#002d9c;--cds-tag-blue-fg:#d0e2ff;--cds-tag-cyan-bg:#003a6d;--cds-tag-cyan-fg:#bae6ff;--cds-tag-teal-bg:#022b30;--cds-tag-teal-fg:#9ef0f0;--cds-tag-green-bg:#044317;--cds-tag-green-fg:#a7f0ba;--cds-tag-magenta-bg:#740937;--cds-tag-magenta-fg:#ffd6e8;--cds-tag-purple-bg:#491d8b;--cds-tag-purple-fg:#e8daff;--cds-tag-red-bg:#750e13;--cds-tag-red-fg:#ffd7d9;--cds-tag-warm-bg:#393939;--cds-tag-warm-fg:#e0e0e0;--cds-tag-cool-bg:#393939;--cds-tag-cool-fg:#e0e0e0;--sh-keyword:#ff7eb6;--sh-string:#42be65;--sh-comment:#8d8d8d;--sh-identifier:#82cfff;--sh-class:#be95ff;--sh-property:#ffc480;--sh-sign:#c6c6c6;--sh-entity:#ffc480;--sh-jsxliterals:#be95ff}@font-face{font-family:IBM Plex Mono;font-weight:300;font-style:normal;src:url(/fonts/IBMPlexMono-Light.ttf) format("truetype");font-display:swap}@font-face{font-family:IBM Plex Mono;font-weight:400;font-style:normal;src:url(/fonts/IBMPlexMono-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:IBM Plex Mono;font-weight:400;font-style:italic;src:url(/fonts/IBMPlexMono-Italic.ttf) format("truetype");font-display:swap}@font-face{font-family:IBM Plex Mono;font-weight:500;font-style:normal;src:url(/fonts/IBMPlexMono-Medium.ttf) format("truetype");font-display:swap}@font-face{font-family:IBM Plex Mono;font-weight:600;font-style:normal;src:url(/fonts/IBMPlexMono-SemiBold.ttf) format("truetype");font-display:swap}@font-face{font-family:IBM Plex Mono;font-weight:700;font-style:normal;src:url(/fonts/IBMPlexMono-Bold.ttf) format("truetype");font-display:swap}html{color-scheme:light dark}.dark html,html.dark{color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100vh;overflow-x:clip}html{scroll-behavior:smooth}body{background-color:var(--cds-background);background:var(--cds-background);color:var(--cds-text-primary);font:var(--cds-type-body-02);font-family:var(--cds-font-sans);letter-spacing:var(--cds-letter-spacing-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;align-items:stretch;margin:0}::-moz-selection{background:var(--selection-bg);color:var(--selection-fg)}::selection{background:var(--selection-bg);color:var(--selection-fg)}h1,h2,h3,h4,h5,h6{font-family:var(--cds-font-sans);color:var(--cds-text-primary);letter-spacing:0;margin:0;text-wrap:balance;scroll-margin-top:72px}@media (max-width:1280px){h1,h2,h3,h4,h5,h6{scroll-margin-top:108px}}h1{font:var(--cds-type-heading-06);letter-spacing:var(--cds-letter-spacing-display);margin:0 0 var(--cds-spacing-04)}@media (min-width:768px){h1{font:var(--cds-type-heading-07);letter-spacing:var(--cds-letter-spacing-hero)}}h2{font:var(--cds-type-heading-04);margin:var(--cds-spacing-09) 0 var(--cds-spacing-05)}h3{font:var(--cds-type-heading-03);margin:var(--cds-spacing-07) 0 var(--cds-spacing-04)}h4{font:var(--cds-type-heading-02);margin:var(--cds-spacing-06) 0 var(--cds-spacing-03)}p{margin:0 0 var(--cds-spacing-05);font:var(--cds-type-body-02);letter-spacing:var(--cds-letter-spacing-body);text-wrap:pretty}.text-meta,small{font:var(--cds-type-helper-01);color:var(--cds-text-secondary)}a{color:var(--cds-link-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color var(--cds-duration-fast-02) var(--cds-ease-productive)}a:hover{color:var(--cds-link-primary-hover)}a:focus-visible{outline:2px solid var(--cds-focus);outline-offset:2px}code,kbd,pre,samp{font-family:var(--cds-font-mono);font-size:.92em}:not(pre)>code{background:var(--cds-layer-01);padding:1px 6px;border-radius:0;color:var(--cds-text-primary);font-weight:var(--cds-weight-regular)}pre{background:var(--cds-gray-100);color:var(--cds-gray-10);border-radius:0;padding:var(--cds-spacing-06);overflow-x:auto;line-height:1.43;font-size:13px}button{font-family:var(--cds-font-sans)}hr{border:0;height:1px;background:var(--cds-border-subtle);margin:var(--cds-spacing-07) 0}.eyebrow{font:var(--cds-type-label-01);letter-spacing:var(--cds-letter-spacing-label);text-transform:uppercase;font-weight:var(--cds-weight-medium)}.eyebrow,.lead{color:var(--cds-text-secondary)}.lead{font:var(--cds-type-body-02)}.mono{font-family:var(--cds-font-mono)}.display{font-family:var(--cds-font-sans);font-weight:var(--cds-weight-light)}.upper{text-transform:uppercase;letter-spacing:var(--cds-letter-spacing-label)}.tabular{font-variant-numeric:tabular-nums}.page-shell{flex:1 1 auto;width:100%;display:flex;flex-direction:column}.container{max-width:1280px;margin:0 auto;width:100%;padding:0 32px}@media (max-width:720px){.container{padding:0 1.5rem}}.section{padding:64px 0;border-bottom:1px solid var(--cds-border-subtle)}.section--narrow{max-width:880px}.section--prose{max-width:720px}.section--bg{background:var(--cds-layer-01);padding:64px 0;margin:0;border-bottom:1px solid var(--cds-border-subtle)}.cds-header{background:var(--cds-gray-100);color:var(--cds-gray-10);height:48px;display:flex;align-items:stretch;font:var(--cds-type-body-01);letter-spacing:.16px;position:sticky;top:0;z-index:40;border-bottom:1px solid var(--cds-gray-80)}.cds-header__brand{display:flex;align-items:center;padding:0 16px;color:var(--cds-white);gap:8px;font-weight:600;text-decoration:none}.cds-header__brand .scope{color:var(--cds-gray-30);font-weight:400}.cds-header__brand:hover{color:var(--cds-white);text-decoration:none}.cds-header__nav{display:flex;height:100%;align-items:stretch;margin-left:16px}.cds-header__nav a{display:flex;align-items:center;padding:0 16px;color:var(--cds-gray-30);text-decoration:none;border-bottom:3px solid transparent;transition:background-color var(--cds-duration-fast-02) var(--cds-ease-productive),color var(--cds-duration-fast-02) var(--cds-ease-productive)}.cds-header__nav a:hover{background:var(--cds-gray-85);color:var(--cds-white);text-decoration:none}.cds-header__nav a.active{color:var(--cds-white);background:var(--cds-gray-90);border-bottom-color:var(--cds-blue-50)}.cds-header__actions{margin-left:auto;display:flex;height:100%}.cds-header__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--cds-gray-30);border:0;cursor:pointer;transition:background-color var(--cds-duration-fast-02) var(--cds-ease-productive)}.cds-header__icon:hover{background:var(--cds-gray-85);color:var(--cds-white)}.cds-header__icon.active{background:var(--cds-gray-90);color:var(--cds-white)}.cds-header__hamburger{display:none;align-items:center;justify-content:center;width:48px;height:48px;background:transparent;border:none;color:var(--cds-gray-30);cursor:pointer;padding:0;flex-shrink:0}.cds-header__hamburger:hover{background:var(--cds-gray-85);color:var(--cds-white)}@media (max-width:720px){.cds-header__nav{display:none}.cds-header__hamburger{display:flex}}.menu-overlay{position:fixed;inset:48px 0 0;background:var(--cds-gray-100);z-index:200;display:flex;flex-direction:column;padding:24px 0;opacity:0;pointer-events:none;transition:opacity .2s ease;overflow-y:auto;overscroll-behavior:contain}.menu-overlay.open{opacity:1;pointer-events:auto}.menu-overlay a{padding:16px 24px;font:var(--cds-type-heading-03);border-bottom:1px solid var(--cds-gray-80)}.menu-overlay a,.menu-overlay a:hover{color:var(--cds-gray-10);text-decoration:none}.menu-overlay a:hover{background:var(--cds-gray-90)}.menu-overlay a.active{color:var(--cds-white)}.page-header{background:var(--cds-layer-01);padding:64px 32px 48px;border-bottom:1px solid var(--cds-border-subtle)}@media (max-width:720px){.page-header{padding:48px 16px 32px}}.page-header__inner{max-width:1280px;margin:0 auto}.page-header__breadcrumb{margin-bottom:16px}.page-header__title{font-family:var(--cds-font-sans);font-size:54px;line-height:1.15;font-weight:300;letter-spacing:var(--cds-letter-spacing-display);color:var(--cds-text-primary);margin:0;max-width:720px}.page-header__title em{font-style:italic;font-weight:300}.page-header__lead{margin:24px 0 0;font:var(--cds-type-body-02);color:var(--cds-text-secondary);max-width:640px}.page-header__meta{margin-top:24px;flex-wrap:wrap;gap:24px;font:var(--cds-type-body-02)}.breadcrumb,.page-header__meta{display:flex;align-items:center;color:var(--cds-text-secondary)}.breadcrumb{gap:8px;font:var(--cds-type-body-01)}.breadcrumb a{color:var(--cds-text-secondary);text-decoration:none}.breadcrumb a:hover{color:var(--cds-link-primary);text-decoration:underline}.breadcrumb .sep{color:var(--cds-gray-30)}.status-pill{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;background:var(--cds-status-open-bg);color:var(--cds-status-open-fg);border:1px solid var(--cds-status-open-border);border-radius:var(--cds-radius-pill);font:var(--cds-type-label-01);font-weight:500;letter-spacing:var(--cds-letter-spacing-label)}.status-pill .dot{position:relative;width:8px;height:8px}.status-pill .dot,.status-pill .dot:after{background:var(--cds-green-50);border-radius:50%}.status-pill .dot:after{content:"";position:absolute;inset:-3px;opacity:.3;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.6);opacity:0}}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;height:48px;min-width:144px;padding:0 16px;font:var(--cds-type-body-01);letter-spacing:.16px;border:1px solid transparent;border-radius:0;cursor:pointer;text-decoration:none;font-family:var(--cds-font-sans);transition:background-color var(--cds-duration-fast-02) var(--cds-ease-productive),color var(--cds-duration-fast-02) var(--cds-ease-productive),border-color var(--cds-duration-fast-02) var(--cds-ease-productive)}.btn .icon{width:16px;height:16px;flex-shrink:0}.btn:hover{text-decoration:none}.btn:focus-visible{outline:2px solid var(--cds-focus);outline-offset:-4px;box-shadow:inset 0 0 0 1px var(--cds-focus-inset)}.btn--primary{background:var(--cds-blue-60);color:var(--cds-white)}.btn--primary:hover{background:var(--cds-blue-70);color:var(--cds-white)}.btn--primary:disabled{background:var(--cds-gray-30);color:var(--cds-gray-50);cursor:not-allowed}.btn--secondary{background:var(--cds-gray-80);color:var(--cds-white)}.btn--secondary:hover{background:var(--cds-gray-100);color:var(--cds-white)}.btn--tertiary{background:transparent;color:var(--cds-blue-60);border-color:var(--cds-blue-60)}.btn--tertiary:hover{background:var(--cds-blue-60);color:var(--cds-white)}.btn--ghost{background:transparent;color:var(--cds-link-primary);min-width:auto;gap:8px;padding:0 16px}.btn--ghost:hover{background:hsla(0,0%,55%,.12);color:var(--cds-link-primary-hover)}.btn--danger{background:var(--cds-red-60);color:var(--cds-white)}.btn--danger:hover{background:var(--cds-red-80);color:var(--cds-white)}.tile{background:var(--cds-layer-01);padding:24px;border:0;border-radius:0;position:relative}.tile--white{background:var(--cds-white);border:1px solid var(--cds-border-subtle)}.tile--no-padding{padding:0}.tile--clickable{cursor:pointer;display:block;color:inherit;text-decoration:none;transition:background-color var(--cds-duration-fast-02) var(--cds-ease-productive)}.tile--clickable:hover{background:var(--cds-gray-20);text-decoration:none}.dark .tile--clickable:hover{background:var(--cds-layer-accent-01)}.tile-grid{display:grid;gap:1px;background:var(--cds-border-subtle)}.tile-grid--2{grid-template-columns:repeat(2,1fr)}.tile-grid--3{grid-template-columns:repeat(3,1fr)}.tile-grid--4{grid-template-columns:repeat(4,1fr)}@media (max-width:960px){.tile-grid--2,.tile-grid--3,.tile-grid--4{grid-template-columns:1fr}}.project-tile{background:var(--cds-layer-01);padding:24px;display:flex;flex-direction:column;gap:16px;position:relative;min-height:320px;transition:background-color var(--cds-duration-fast-02) var(--cds-ease-productive);cursor:pointer}.project-tile,.project-tile:hover{text-decoration:none;color:inherit}.project-tile:hover{background:var(--cds-gray-20)}.dark .project-tile:hover{background:var(--cds-layer-accent-01)}.project-tile__img{aspect-ratio:16/9;margin:-24px -24px 0;background:repeating-linear-gradient(45deg,var(--cds-layer-01) 0 12px,var(--cds-layer-accent-01) 12px 24px);display:flex;align-items:center;justify-content:center;color:var(--cds-text-helper);font:var(--cds-type-code-01);letter-spacing:.32px;text-transform:uppercase;background-size:cover;background-position:50%;overflow:hidden}.project-tile__img--has-image{background:var(--cds-white)}.project-tile__img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:grayscale(100%);transition:filter var(--cds-duration-moderate-02) var(--cds-ease-productive)}.project-tile:hover .project-tile__img img{filter:grayscale(0)}.project-tile__eyebrow{font:var(--cds-type-label-01);color:var(--cds-text-secondary);text-transform:uppercase;letter-spacing:var(--cds-letter-spacing-label)}.project-tile__title{font:var(--cds-type-heading-03);color:var(--cds-text-primary);margin:0}.project-tile__desc{font:var(--cds-type-body-01);color:var(--cds-text-secondary);margin:0;line-height:1.5}.project-tile__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.project-tile__cta{position:absolute;bottom:16px;right:16px;color:var(--cds-blue-60);width:16px;height:16px}.project-spotlight{background:var(--cds-layer-01);border:1px solid var(--cds-border-subtle);display:grid;grid-template-columns:1.15fr 1fr;overflow:hidden;transition:border-color var(--cds-duration-fast-02) var(--cds-ease-productive)}.project-spotlight:hover{border-color:var(--cds-border-strong)}.project-spotlight__content{padding:40px;display:flex;flex-direction:column}.project-spotlight__eyebrow{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.project-spotlight__badge{display:inline-flex;align-items:center;gap:8px;font:var(--cds-type-label-01);font-size:.8125rem;font-weight:500;color:var(--cds-interactive-01,#0f62fe);text-transform:uppercase;letter-spacing:.32px}.project-spotlight__year{font:var(--cds-type-label-01);font-size:.8125rem;color:var(--cds-text-secondary)}.project-spotlight__title{font-family:var(--cds-font-sans);font-size:clamp(1.75rem,2.5vw,2.25rem);line-height:1.2;font-weight:400;color:var(--cds-text-primary);letter-spacing:-.015em;margin:0 0 16px}.project-spotlight__desc{font:var(--cds-type-body-01);font-size:1rem;line-height:1.6;color:var(--cds-text-secondary);margin:0 0 20px}.project-spotlight__highlights{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:8px}.project-spotlight__highlights li{position:relative;padding-left:18px;font-size:.875rem;line-height:1.5;color:var(--cds-text-primary)}.project-spotlight__highlights li:before{content:"—";position:absolute;left:0;color:var(--cds-interactive-01,#0f62fe);font-weight:600}.project-spotlight__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.project-spotlight__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto}.project-spotlight__visual{background:var(--cds-layer-02);display:flex;flex-direction:column;border-left:1px solid var(--cds-border-subtle);overflow:hidden;position:relative}.project-spotlight__visual img{-o-object-fit:cover;object-fit:cover;transition:transform var(--cds-duration-moderate-02) var(--cds-ease-productive)}.project-spotlight:hover .project-spotlight__visual img{transform:scale(1.02)}.project-spotlight__caption{margin-top:auto;padding:12px 16px;font:var(--cds-type-helper-01);font-size:.75rem;color:var(--cds-text-secondary);background:var(--cds-layer-01);border-top:1px solid var(--cds-border-subtle);letter-spacing:.16px}@media (max-width:960px){.project-spotlight{grid-template-columns:1fr}.project-spotlight__visual{border-left:none;border-top:1px solid var(--cds-border-subtle);aspect-ratio:16/9}.project-spotlight__content{padding:24px}}.ibm-project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--cds-border-subtle);border:1px solid var(--cds-border-subtle)}.ibm-project-card{background:var(--cds-background);padding:32px 28px;display:flex;flex-direction:column;transition:background-color var(--cds-duration-fast-02) var(--cds-ease-productive)}.ibm-project-card:hover{background:var(--cds-layer-hover-01)}.ibm-project-card__eyebrow{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.ibm-project-card__category{display:inline-flex;align-items:center;gap:8px;font:var(--cds-type-label-01);font-size:.8125rem;color:var(--cds-text-secondary);letter-spacing:.32px;text-transform:uppercase;font-weight:500}.ibm-project-card__year{font:var(--cds-type-label-01);font-size:.8125rem;color:var(--cds-text-secondary)}.ibm-project-card__img-wrap{position:relative;width:100%;aspect-ratio:16/9;margin-bottom:20px;background:var(--cds-layer-02);overflow:hidden;border:1px solid var(--cds-border-subtle)}.ibm-project-card__img-wrap img{-o-object-fit:cover;object-fit:cover;transition:transform var(--cds-duration-moderate-02) var(--cds-ease-productive)}.ibm-project-card:hover .ibm-project-card__img-wrap img{transform:scale(1.02)}.ibm-project-card__title{font-family:var(--cds-font-sans);font-size:1.25rem;line-height:1.35;font-weight:500;color:var(--cds-text-primary);margin:0 0 12px}.ibm-project-card__title-link{color:inherit;text-decoration:none!important;transition:color var(--cds-duration-fast-02) var(--cds-ease-productive)}.ibm-project-card:hover .ibm-project-card__title-link{color:var(--cds-interactive-01,#0f62fe)}.ibm-project-card__desc{font:var(--cds-type-body-01);font-size:.875rem;line-height:1.55;color:var(--cds-text-secondary);margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ibm-project-card__highlights{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:6px}.ibm-project-card__highlights li{position:relative;padding-left:14px;font-size:.8125rem;line-height:1.45;color:var(--cds-text-primary)}.ibm-project-card__highlights li:before{content:"·";position:absolute;left:2px;color:var(--cds-interactive-01,#0f62fe);font-weight:700}.ibm-project-card__bottom{margin-top:auto;display:flex;flex-direction:column;gap:20px}.ibm-project-card__tags{display:flex;flex-wrap:wrap;gap:6px}.ibm-project-card__actions{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--cds-border-subtle)}.ibm-project-card__action-primary{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:500;color:var(--cds-interactive-01,#0f62fe);text-decoration:none!important}.ibm-project-card__action-primary:hover{text-decoration:underline!important}.ibm-project-card__action-secondary{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--cds-text-secondary);text-decoration:none!important;transition:color var(--cds-duration-fast-02) var(--cds-ease-productive)}.ibm-project-card__action-secondary:hover{color:var(--cds-text-primary)}@media (max-width:768px){.ibm-project-grid{grid-template-columns:1fr}}.blog-tile{background:var(--cds-layer-01);display:flex;flex-direction:column;cursor:pointer;color:inherit;border:1px solid var(--cds-border-subtle);transition:background-color var(--cds-duration-fast-02) var(--cds-ease-productive),border-color var(--cds-duration-fast-02) var(--cds-ease-productive),box-shadow var(--cds-duration-fast-02) var(--cds-ease-productive)}.blog-featured,.blog-featured *,.blog-tile,.blog-tile *{text-decoration:none!important}.blog-featured:hover,.blog-tile:hover{background:var(--cds-layer-hover-01);border-color:var(--cds-border-strong);color:inherit;text-decoration:none!important;box-shadow:0 2px 8px rgba(0,0,0,.08)}.dark .blog-featured:hover,.dark .blog-tile:hover{background:var(--cds-layer-hover-01);border-color:var(--cds-border-strong);box-shadow:0 2px 8px rgba(0,0,0,.35)}.blog-featured:hover h2,.blog-tile:hover .blog-tile__title{color:var(--cds-text-primary);font-weight:600;text-decoration:none!important}.blog-featured:hover p,.blog-tile:hover .blog-tile__desc{color:var(--cds-text-primary);text-decoration:none!important;transition:color var(--cds-duration-fast-02) var(--cds-ease-productive)}.blog-featured:hover .eyebrow,.blog-tile:hover .blog-tile__meta{color:var(--cds-interactive-01,#0f62fe);text-decoration:none!important;transition:color var(--cds-duration-fast-02) var(--cds-ease-productive)}.blog-tile__img{aspect-ratio:16/9;position:relative;width:100%;background:var(--cds-layer-02);display:flex;align-items:center;justify-content:center;color:var(--cds-text-helper);font:var(--cds-type-code-01);letter-spacing:.32px;text-transform:uppercase;overflow:hidden}.blog-tile__img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:grayscale(100%);transition:filter var(--cds-duration-moderate-02) var(--cds-ease-productive),transform var(--cds-duration-moderate-02) var(--cds-ease-productive)}.blog-featured:hover .blog-tile__img img,.blog-tile:hover .blog-tile__img img{filter:grayscale(0);transform:scale(1.02)}.blog-tile__body{padding:24px;overflow:hidden}.blog-tile__meta{font:var(--cds-type-label-01);color:var(--cds-text-secondary);text-transform:uppercase;letter-spacing:var(--cds-letter-spacing-label);margin-bottom:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blog-tile__title{font:var(--cds-type-heading-03);margin:0;color:var(--cds-text-primary);-webkit-line-clamp:2;transition:color var(--cds-duration-fast-02) var(--cds-ease-productive)}.blog-tile__desc,.blog-tile__title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.blog-tile__desc{margin:8px 0 0;font:var(--cds-type-body-01);color:var(--cds-text-secondary);line-height:1.5;-webkit-line-clamp:3}.blog-featured{display:grid;grid-template-columns:1.1fr 1fr;gap:0;height:460px;overflow:hidden;border:1px solid var(--cds-border-subtle);transition:background-color var(--cds-duration-fast-02) var(--cds-ease-productive),border-color var(--cds-duration-fast-02) var(--cds-ease-productive),box-shadow var(--cds-duration-fast-02) var(--cds-ease-productive)}.blog-featured .blog-tile__img{height:100%;aspect-ratio:unset}.blog-featured__body{padding:32px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.blog-featured__body h2{-webkit-line-clamp:2}.blog-featured__body h2,.blog-featured__body>p{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.blog-featured__body>p{-webkit-line-clamp:4}@media (max-width:720px){.blog-featured{grid-template-columns:1fr;height:auto}.blog-featured .blog-tile__img{aspect-ratio:16/9;height:auto}.blog-featured__body{padding:20px}.blog-featured__body h2,.blog-featured__body>p{-webkit-line-clamp:3}}.cds--tag,.tag,a.cds--tag,a.tag{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border-radius:0;font:var(--cds-type-label-01);font-size:.75rem;font-weight:500;letter-spacing:var(--cds-letter-spacing-label);background:var(--cds-tag-warm-bg);color:var(--cds-tag-warm-fg)!important;text-decoration:none!important;white-space:nowrap;transition:background-color 70ms cubic-bezier(0,0,.38,.9),opacity 70ms ease}.cds--tag:hover,.tag:hover,a.cds--tag:hover,a.tag:hover{text-decoration:none!important;opacity:.85}.cds--tag--blue,.tag--blue{background:var(--cds-tag-blue-bg)!important;color:var(--cds-tag-blue-fg)!important}.cds--tag--cyan,.tag--cyan{background:var(--cds-tag-cyan-bg)!important;color:var(--cds-tag-cyan-fg)!important}.cds--tag--teal,.tag--teal{background:var(--cds-tag-teal-bg)!important;color:var(--cds-tag-teal-fg)!important}.cds--tag--green,.tag--green{background:var(--cds-tag-green-bg)!important;color:var(--cds-tag-green-fg)!important}.cds--tag--magenta,.tag--magenta{background:var(--cds-tag-magenta-bg)!important;color:var(--cds-tag-magenta-fg)!important}.cds--tag--purple,.tag--purple{background:var(--cds-tag-purple-bg)!important;color:var(--cds-tag-purple-fg)!important}.cds--tag--red,.tag--red{background:var(--cds-tag-red-bg)!important;color:var(--cds-tag-red-fg)!important}.cds--tag--gray,.tag--gray{background:var(--cds-tag-warm-bg)!important;color:var(--cds-tag-warm-fg)!important}.cds--tag--cool,.tag--cool{background:var(--cds-tag-cool-bg)!important;color:var(--cds-tag-cool-fg)!important}.filter-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;font:var(--cds-type-body-01);font-family:var(--cds-font-sans);border:1px solid var(--cds-border-subtle);background:transparent;color:var(--cds-text-secondary);cursor:pointer;transition:background-color var(--cds-duration-fast-02) var(--cds-ease-productive),border-color var(--cds-duration-fast-02) var(--cds-ease-productive)}.filter-btn:hover{background:var(--cds-layer-01);color:var(--cds-text-primary)}.filter-btn.active{background:var(--cds-blue-60);color:var(--cds-white);border-color:var(--cds-blue-60)}.tabs{display:flex;border-bottom:1px solid var(--cds-border-subtle);font:var(--cds-type-body-01);overflow-x:auto}.tabs a,.tabs button{padding:12px 16px;color:var(--cds-text-secondary);border:0;background:transparent;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;text-decoration:none;font:inherit;white-space:nowrap}.tabs a:hover,.tabs button:hover{color:var(--cds-text-primary);background:var(--cds-layer-01);text-decoration:none}.tabs a.active,.tabs button.active{color:var(--cds-text-primary);font-weight:600;border-bottom-color:var(--cds-blue-60)}@media (max-width:720px){.tabs{overflow-x:visible;flex-wrap:wrap}}.data-table{width:100%;border-collapse:collapse;font:var(--cds-type-body-01);background:var(--cds-layer-02)}.data-table thead{background:var(--cds-layer-01);border-bottom:1px solid var(--cds-border-subtle)}.data-table th{text-align:left;padding:12px 16px;font:var(--cds-type-heading-01);color:var(--cds-text-primary)}.data-table td{padding:14px 16px;border-bottom:1px solid var(--cds-border-subtle);vertical-align:top;color:var(--cds-text-secondary)}.data-table tbody tr:hover{background:hsla(0,0%,55%,.06)}.data-table .title{color:var(--cds-text-primary);font-weight:500}.data-table .authors{font:var(--cds-type-helper-01);color:var(--cds-text-helper)}.data-table .mono{font-family:var(--cds-font-mono)}.data-table .right{text-align:right}@media (max-width:640px){.data-table thead{display:none}.data-table,.data-table tbody,.data-table td,.data-table tr{display:block;width:100%;box-sizing:border-box}.data-table tr{border-bottom:1px solid var(--cds-border-subtle)}.data-table td{padding:0 16px;border:none}.data-table td.mono{padding-top:16px;padding-bottom:6px;font-size:.75em;color:var(--cds-text-helper)}.data-table td:nth-child(2){padding-bottom:8px}.data-table td.right,.data-table td:nth-child(3){display:inline-block;width:auto;padding-bottom:14px}.data-table td.right{padding-left:8px;text-align:left}}.field{display:flex;flex-direction:column;gap:8px}.field label{font:var(--cds-type-label-01);color:var(--cds-text-secondary);letter-spacing:.32px}.field input,.field select,.field textarea{width:100%;height:48px;padding:0 16px;background:var(--cds-field-01);border:0;border-bottom:1px solid var(--cds-gray-50);border-radius:0;color:var(--cds-text-primary);font:var(--cds-type-body-01);font-family:var(--cds-font-sans);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.field textarea{height:160px;padding:12px 16px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--cds-focus);outline-offset:-2px}.field .helper{font:var(--cds-type-helper-01);color:var(--cds-text-helper)}.notification{display:flex;align-items:flex-start;gap:16px;padding:16px 24px;background:#defbe6;border-left:3px solid var(--cds-green-50);color:var(--cds-text-primary)}.notification .icon{color:var(--cds-green-50);flex-shrink:0}.notification .title{font:var(--cds-type-heading-02)}.notification .desc{font:var(--cds-type-helper-01);color:var(--cds-text-secondary);margin-top:4px}.quote{padding:24px;background:var(--cds-layer-01);border-left:3px solid var(--cds-blue-60)}.quote p{margin:0;font:var(--cds-type-heading-03);font-weight:400;color:var(--cds-text-primary)}.quote cite{display:block;margin-top:12px;font:var(--cds-type-body-01);font-style:normal;color:var(--cds-text-secondary)}.code-block{background:var(--cds-gray-100);color:var(--cds-gray-10);padding:24px;font:var(--cds-type-code-02);overflow-x:auto;white-space:pre;border-radius:0}.code-block .lang{display:block;margin-bottom:8px;color:var(--cds-gray-50);font-size:11px;letter-spacing:.6px;text-transform:uppercase}.code-block .sh-kw{color:#ee5396}.code-block .sh-st{color:#42be65}.code-block .sh-cm{color:#8d8d8d;font-style:italic}.code-block .sh-id{color:#82cfff}.code-block .sh-nm{color:#d4bbff}.code-block .sh-pr{color:#ffc480}.prose{font:var(--cds-font-sans);max-width:980px;width:100%}.prose,.prose p{color:var(--cds-text-primary)}.prose p{margin:0 0 1.5em;font-size:21px;line-height:1.6;letter-spacing:-.01em}.prose strong{font-weight:600;color:var(--cds-text-primary)}.prose ul{padding-left:1.4em;margin:0 0 28px;list-style:disc}.prose ul li{margin:0 0 10px}.prose li{font-size:21px;line-height:1.6}.prose a{color:var(--cds-link-primary);text-decoration:underline;text-underline-offset:4px}.prose a:hover{color:var(--cds-link-primary-hover)}.prose h1{font-weight:300;margin:64px 0 24px;font-size:3rem;line-height:1.15}.prose h2{font-size:42px;line-height:1.25;font-weight:400;margin:56px 0 20px;color:var(--cds-text-primary);letter-spacing:-.02em}.prose h3{font-size:28px;margin:44px 0 16px}.prose h3,.prose h4{font-weight:600;color:var(--cds-text-primary)}.prose h4{font-size:22px;margin:36px 0 12px}.prose code:not(pre code){font:var(--cds-type-code-01);background:var(--cds-layer-01);padding:3px 8px;border-radius:0;color:var(--cds-text-primary);font-size:.85em}.prose pre{background-color:var(--cds-gray-100);padding:20px;margin:36px 0;overflow-x:auto}.prose blockquote{border-left:3px solid var(--cds-blue-60);padding:0 0 0 24px;margin:36px 0;color:var(--cds-text-primary);font-size:23px;line-height:1.5;font-weight:300;white-space:pre-line}.prose blockquote p{margin:0;font-size:23px;line-height:1.5}.prose .anchor{display:none}.prose .pull-quote{font-size:30px;line-height:1.4;font-weight:300;color:var(--cds-text-primary);border-top:2px solid var(--cds-blue-60);border-bottom:1px solid var(--cds-border-subtle);padding:28px 0;margin:52px 0}.prose .sidenote{background:#eaf5ed;border-top:3px solid #198038;border-radius:0;padding:16px 20px;margin:32px 0;font-size:.9375rem;line-height:1.55}.dark .prose .sidenote,.prose .sidenote{border-left:none;color:var(--cds-text-primary)}.dark .prose .sidenote{background:rgba(36,161,72,.12);border-top:3px solid #42be65}.prose-figure{margin:40px 0;display:block}.prose-img{display:block;max-width:100%;width:100%;height:auto;border:1px solid var(--cds-border-subtle);border-radius:0}.prose-figcaption{margin-top:10px;font:var(--cds-type-helper-01);font-size:14px;color:var(--cds-text-secondary);text-align:left;letter-spacing:.16px}@media (max-width:768px){.prose li,.prose p{font-size:18px;line-height:1.6}.prose h2{font-size:30px;margin:40px 0 16px}.prose h3{font-size:22px}.prose h4{font-size:18px}.prose blockquote,.prose blockquote p{font-size:20px}.prose .pull-quote{font-size:22px}}.cds--loading{display:inline-flex;align-items:center;justify-content:center;position:relative;width:3.5rem;height:3.5rem}.cds--loading--small{width:1.25rem;height:1.25rem}.cds--loading__svg{fill:transparent;width:100%;height:100%;animation:cds--loading-rotate 1.2s linear infinite;transform-origin:center center}.cds--loading__background{stroke:var(--cds-border-subtle,#e0e0e0);stroke-width:7}.cds--loading__stroke{stroke:var(--cds-interactive-01,#0f62fe);stroke-width:7;stroke-linecap:square;stroke-dasharray:200;stroke-dashoffset:160;animation:cds--loading-stroke 1.2s ease-in-out infinite}@keyframes cds--loading-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes cds--loading-stroke{0%{stroke-dashoffset:190}50%{stroke-dashoffset:45}to{stroke-dashoffset:190}}.cds--inline-loading{display:inline-flex;align-items:center;gap:12px;font:var(--cds-type-body-01);color:var(--cds-text-secondary)}.cds--progress-nav{position:sticky;top:var(--cds-header-height,48px);z-index:40;width:100%;background:var(--cds-background);border-bottom:1px solid var(--cds-border-subtle);transition:transform .25s ease,box-shadow .2s ease}@media (max-width:719px){.cds--progress-nav.cds--progress-nav--header-hidden,.cds-header--hidden~main .cds--progress-nav{transform:translateY(calc(-1 * var(--cds-header-height, 48px)))}}.cds--progress{display:flex;align-items:stretch;width:100%;margin:0;padding:0;list-style:none;background:var(--cds-background);border-bottom:1px solid var(--cds-border-subtle)}.cds--progress-step{display:flex;flex:1;flex-direction:column;position:relative;min-width:0;padding:10px 14px 12px;cursor:pointer;background:transparent;border:none;border-bottom:2px solid transparent;text-align:left;transition:background-color 70ms cubic-bezier(0,0,.38,.9)}.cds--progress-step:hover{background:var(--cds-layer-hover-01)}.cds--progress-step--current{border-bottom-color:var(--cds-interactive-01,#0f62fe);background:var(--cds-layer-01)}.cds--progress-step__header{display:flex;align-items:center;gap:6px;margin-bottom:3px}.cds--progress-step__icon{width:15px;height:15px;flex-shrink:0}.cds--progress-step--complete .cds--progress-step__icon,.cds--progress-step--current .cds--progress-step__icon{color:var(--cds-interactive-01,#0f62fe)}.cds--progress-step--incomplete .cds--progress-step__icon{color:var(--cds-icon-secondary,#8d8d8d)}.cds--progress-step__label{font:var(--cds-type-label-01);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.32px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--cds-text-helper)}.cds--progress-step--current .cds--progress-step__label{color:var(--cds-interactive-01,#0f62fe)}.cds--progress-step__title{font:var(--cds-type-body-01);font-size:.8125rem;color:var(--cds-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.cds--progress-step--current .cds--progress-step__title{color:var(--cds-text-primary);font-weight:600}.sidebar a,.sidebar button{display:block;width:100%;padding:8px 16px;text-align:left;font:var(--cds-type-body-01);color:var(--cds-text-secondary);text-decoration:none;background:transparent;border:0;border-left:2px solid transparent;cursor:pointer;transition:all var(--cds-duration-fast-02) var(--cds-ease-productive)}.sidebar a:hover,.sidebar button:hover{background-color:var(--cds-layer-accent-01);color:var(--cds-text-primary);text-decoration:none}.sidebar a.active,.sidebar button.active{color:var(--cds-text-primary);background-color:var(--cds-layer-01);border-left-color:var(--cds-blue-60);font-weight:500}.sidebar .label{padding:0 18px;font:var(--cds-type-label-01);color:var(--cds-text-secondary);text-transform:uppercase;letter-spacing:.32px;margin-bottom:12px}.article-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;align-items:start}.article-main{min-width:0;max-width:980px;width:100%}@media (max-width:1023px){.article-grid{display:flex;flex-direction:column;gap:32px}.article-main{max-width:100%}}.article-sidebar{width:260px;position:static;padding-right:32px;padding-left:0;border-right:1px solid var(--cds-border-subtle);border-left:none;display:flex;flex-direction:column;gap:28px}@media (max-width:1023px){.article-sidebar{width:100%;padding-right:0;padding-bottom:32px;margin-bottom:32px;border-right:none;border-bottom:1px solid var(--cds-border-subtle)}}.article-sidebar__section{display:flex;flex-direction:column}.article-sidebar__label{font:var(--cds-type-label-01);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.32px;color:var(--cds-text-helper);margin-bottom:10px;display:flex;align-items:center;gap:6px}.article-sidebar__author{display:flex;align-items:center;gap:12px;padding:12px;background:var(--cds-layer-01);border:1px solid var(--cds-border-subtle)}.article-sidebar__avatar{width:36px;height:36px;background:var(--cds-interactive-01,#0f62fe);color:var(--cds-white,#fff);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;letter-spacing:.5px;flex-shrink:0;border-radius:0}.article-sidebar__author-info{display:flex;flex-direction:column;min-width:0}.article-sidebar__author-name{font-size:.8125rem;font-weight:600;color:var(--cds-text-primary);line-height:1.3}.article-sidebar__author-role{font-size:.75rem;color:var(--cds-text-secondary);line-height:1.3;margin-top:2px}.article-sidebar__meta-list{display:flex;flex-direction:column;border-top:1px solid var(--cds-border-subtle)}.article-sidebar__meta-item{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid var(--cds-border-subtle)}.article-sidebar__meta-label{font:var(--cds-type-label-01);font-size:.625rem;text-transform:uppercase;letter-spacing:.32px;color:var(--cds-text-helper);margin-bottom:2px}.article-sidebar__meta-value{font:var(--cds-type-body-01);font-size:.8125rem;color:var(--cds-text-primary);font-weight:500}.article-sidebar__share-group,.article-sidebar__tags{display:flex;flex-wrap:wrap;gap:6px}.article-sidebar__share-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:var(--cds-layer-01);border:1px solid var(--cds-border-subtle);font:var(--cds-type-label-01);font-size:.75rem;color:var(--cds-text-secondary);cursor:pointer;text-decoration:none!important;border-radius:0!important;transition:background-color 70ms cubic-bezier(0,0,.38,.9),color 70ms cubic-bezier(0,0,.38,.9),border-color 70ms cubic-bezier(0,0,.38,.9)}.article-sidebar__share-btn:hover{background:var(--cds-layer-hover-01);color:var(--cds-text-primary);border-color:var(--cds-border-strong)}.article-sidebar__share-btn--active{background:var(--cds-layer-selected-01);color:var(--cds-interactive-01,#0f62fe);border-color:var(--cds-interactive-01,#0f62fe)}.article-sidebar__essay-card{display:block;padding:8px 10px;margin-bottom:6px;background:transparent;border-left:2px solid transparent;text-decoration:none!important;transition:all 70ms cubic-bezier(0,0,.38,.9)}.article-sidebar__essay-card:hover{background:var(--cds-layer-01);border-left-color:var(--cds-interactive-01,#0f62fe);text-decoration:none!important}.article-sidebar__essay-eyebrow{font:var(--cds-type-label-01);font-size:.625rem;text-transform:uppercase;letter-spacing:.32px;color:var(--cds-text-helper);margin-bottom:3px}.article-sidebar__essay-title{font:var(--cds-type-body-01);font-size:.8125rem;font-weight:500;line-height:1.35;color:var(--cds-text-primary);transition:color 70ms cubic-bezier(0,0,.38,.9)}.article-sidebar__essay-card:hover .article-sidebar__essay-title{color:var(--cds-interactive-01,#0f62fe)}.article-citation{margin-top:56px;margin-bottom:32px;padding:24px;background:var(--cds-layer-01);border:1px solid var(--cds-border-subtle);border-left:3px solid var(--cds-interactive-01,#0f62fe)}.article-citation__header{margin-bottom:20px}.article-citation__eyebrow{display:inline-flex;align-items:center;gap:6px;font:var(--cds-type-label-01);font-size:.6875rem;text-transform:uppercase;letter-spacing:.32px;color:var(--cds-interactive-01,#0f62fe);font-weight:500;margin-bottom:6px}.article-citation__title{font:var(--cds-type-heading-03);font-size:1.25rem;font-weight:500;color:var(--cds-text-primary);margin:0 0 6px}.article-citation__desc{font:var(--cds-type-body-01);font-size:.875rem;line-height:1.5;color:var(--cds-text-secondary);margin:0}.article-citation__box{background:var(--cds-layer-02);border:1px solid var(--cds-border-subtle);padding:12px 16px}.article-citation__box-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.article-citation__box-label{font:var(--cds-type-label-01);font-size:.6875rem;text-transform:uppercase;letter-spacing:.32px;color:var(--cds-text-helper);font-weight:500}.article-citation__copy-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;background:var(--cds-layer-01);border:1px solid var(--cds-border-subtle);color:var(--cds-text-primary);font:var(--cds-type-label-01);font-size:.75rem;font-weight:500;cursor:pointer;border-radius:0;transition:all 70ms cubic-bezier(0,0,.38,.9)}.article-citation__copy-btn:hover{background:var(--cds-layer-hover-01);border-color:var(--cds-border-strong)}.article-citation__box-content{font:var(--cds-type-body-01);font-size:.8125rem;line-height:1.5}.article-citation__bibtex,.article-citation__box-content{color:var(--cds-text-primary);margin:0;-webkit-user-select:all;-moz-user-select:all;user-select:all}.article-citation__bibtex{padding:0;background:transparent;font-family:var(--cds-font-mono);font-size:.75rem;line-height:1.6;overflow-x:auto;white-space:pre}.article-citation__bibtex code{font-family:inherit;font-size:inherit;background:transparent!important;border:none!important;padding:0!important;color:inherit}.ibm-related-section{background:var(--cds-background);border-top:1px solid var(--cds-border-subtle);width:100%}.ibm-related-section__header{max-width:1440px;margin:0 auto;padding:48px 24px 20px}.ibm-related-grid{display:grid;grid-template-columns:repeat(4,1fr);width:100%;max-width:1440px;margin:0 auto;border-top:1px solid var(--cds-border-subtle);border-bottom:1px solid var(--cds-border-subtle)}.ibm-related-card{display:flex;flex-direction:column;height:100%;padding:32px 24px;border-right:1px solid var(--cds-border-subtle);text-decoration:none!important;color:inherit;background:var(--cds-background);transition:background-color var(--cds-duration-fast-02) var(--cds-ease-productive)}.ibm-related-card:last-child{border-right:none}.ibm-related-card,.ibm-related-card *,.ibm-related-card:hover{text-decoration:none!important}.ibm-related-card:hover{background:var(--cds-layer-hover-01)}.ibm-related-card:hover .ibm-related-card__title{color:var(--cds-interactive-01,#0f62fe)}.ibm-related-card__eyebrow{display:flex;align-items:center;gap:8px;font:var(--cds-type-label-01);font-size:.8125rem;color:var(--cds-text-secondary);margin-bottom:20px}.ibm-related-card__eyebrow-icon{flex-shrink:0;color:var(--cds-text-secondary)}.ibm-related-card__img-wrap{position:relative;width:100%;aspect-ratio:16/9;margin-bottom:20px;background:var(--cds-layer-02);overflow:hidden}.ibm-related-card__img-wrap img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--cds-duration-moderate-02) var(--cds-ease-productive)}.ibm-related-card:hover .ibm-related-card__img-wrap img{transform:scale(1.02)}.ibm-related-card__title{font-family:var(--cds-font-sans);font-size:1.1875rem;font-weight:400;line-height:1.35;color:var(--cds-text-primary);letter-spacing:-.01em;margin:0 0 24px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;transition:color var(--cds-duration-fast-02) var(--cds-ease-productive)}.ibm-related-card__bottom{margin-top:auto;display:flex;flex-direction:column;gap:12px}.ibm-related-card__meta{display:flex;flex-direction:column;gap:2px}.ibm-related-card__author,.ibm-related-card__date{font:var(--cds-type-helper-01);font-size:.8125rem;color:var(--cds-text-secondary);line-height:1.3}.ibm-related-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.ibm-related-pill{display:inline-flex;align-items:center;border-radius:9999px;font-size:.75rem;font-weight:500;line-height:1.4;padding:2px 10px;text-decoration:none!important;white-space:nowrap}.ibm-related-pill--green{background:#defbe6;color:#0e6027!important}.dark .ibm-related-pill--green{background:rgba(36,161,72,.2);color:#6fdc8c!important}.ibm-related-pill--teal{background:#d9fbfb;color:#005d5d!important}.dark .ibm-related-pill--teal{background:rgba(0,157,154,.2);color:#3ddbd9!important}.ibm-related-pill--blue{background:#edf5ff;color:#0043ce!important}.dark .ibm-related-pill--blue{background:rgba(15,98,254,.2);color:#78a9ff!important}.ibm-related-pill--purple{background:#f6f2ff;color:#6929c4!important}.dark .ibm-related-pill--purple{background:rgba(165,110,255,.2);color:#be95ff!important}.dark .ibm-related-pill--gray,.ibm-related-pill--gray{background:var(--cds-layer-02);color:var(--cds-text-secondary)!important;border:1px solid var(--cds-border-subtle)}@media (max-width:1023px){.ibm-related-grid{grid-template-columns:repeat(2,1fr)}.ibm-related-card:nth-child(2n){border-right:none}.ibm-related-card:first-child,.ibm-related-card:nth-child(2){border-bottom:1px solid var(--cds-border-subtle)}}@media (max-width:639px){.ibm-related-grid{grid-template-columns:1fr}.ibm-related-card{border-right:none!important;border-bottom:1px solid var(--cds-border-subtle)}.ibm-related-card:last-child{border-bottom:none}}.site-footer{background:var(--cds-gray-100);color:var(--cds-gray-30);padding:48px 32px;font:var(--cds-type-body-01)}.site-footer__inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:32px}@media (max-width:720px){.site-footer__inner{grid-template-columns:1fr}}.site-footer h4{margin:0 0 16px;font:var(--cds-type-label-01);letter-spacing:.32px;text-transform:uppercase;color:var(--cds-white);font-weight:500}.site-footer a{color:var(--cds-gray-30);text-decoration:none;display:block;padding:4px 0}.site-footer a:hover{color:var(--cds-white);text-decoration:underline}.site-footer .socials{display:flex;gap:12px;margin-top:16px}.site-footer .socials a{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.site-footer .colophon{font:var(--cds-type-helper-01);color:var(--cds-gray-50)}.chat-window{display:flex;flex-direction:column;height:60vh;max-height:600px;background:var(--cds-background);border:1px solid var(--cds-border-subtle)}.chat-scroll{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.chat-bubble{display:flex}.chat-bubble.user{justify-content:flex-end}.chat-bubble .text{padding:12px 16px;max-width:85%;font:var(--cds-type-body-01);line-height:1.5;color:var(--cds-text-primary)}.chat-bubble.assistant .text{background:var(--cds-layer-01);color:var(--cds-text-primary);border-left:2px solid var(--cds-blue-60)}.chat-bubble.user .text{background:var(--cds-blue-60);color:var(--cds-white)!important}.chat-prose{font:var(--cds-type-body-01);line-height:1.5;color:inherit}.chat-prose p{margin:0 0 .5em;font-size:.875rem;color:inherit}.chat-prose p:last-child{margin-bottom:0}.chat-prose ol,.chat-prose ul{padding-left:1.25em;margin:0 0 .5em}.chat-prose li{font-size:.875rem;margin-bottom:.25em;color:inherit}.chat-prose strong{font-weight:600;color:inherit}.chat-prose code{font-family:var(--cds-font-mono);font-size:.8125rem;background:var(--cds-layer-02);padding:1px 4px}.chat-suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:0 24px 16px}.chat-suggestions button{padding:8px 14px;font:var(--cds-type-body-01);text-align:left;background:var(--cds-layer-02);border:1px solid var(--cds-border-subtle);color:var(--cds-text-secondary);cursor:pointer;font-family:var(--cds-font-sans);border-radius:0}.chat-suggestions button:hover{background:var(--cds-layer-01);border-color:var(--cds-border-strong);color:var(--cds-text-primary)}.chat-input-row{display:flex;gap:0;border-top:1px solid var(--cds-border-subtle)}.chat-input-row input{flex:1;height:48px;padding:0 16px;border:0;background:var(--cds-field-02);border-bottom:1px solid var(--cds-border-strong);font:var(--cds-type-body-01);font-family:var(--cds-font-sans);outline:none;color:var(--cds-text-primary)}.chat-input-row input:focus{outline:2px solid var(--cds-focus);outline-offset:-2px}.chat-input-row .send-btn{height:48px;width:48px;background:var(--cds-blue-60);color:var(--cds-white);border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.chat-input-row .send-btn:hover{background:var(--cds-blue-70)}.chat-input-row .send-btn:disabled{background:var(--cds-gray-30);cursor:not-allowed}@keyframes typing{0%,to{opacity:.3}50%{opacity:1}}.typing{display:inline-flex;gap:4px;padding:12px 16px;background:var(--cds-layer-02);border-left:2px solid var(--cds-blue-60)}.typing span{width:6px;height:6px;background:var(--cds-gray-50);animation:typing .9s ease-in-out infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}.divider{height:1px;background:var(--cds-border-subtle);border:0}.col,.row{display:flex}.col{flex-direction:column}.grow{flex:1 1 auto;min-width:0}.shrink-0{flex-shrink:0}.between{justify-content:space-between}.ai-center{align-items:center}.ai-end{align-items:flex-end}.ai-start{align-items:flex-start}.g-1{gap:4px}.g-2{gap:8px}.g-3{gap:12px}.g-4{gap:16px}.g-5{gap:24px}.g-6{gap:32px}.g-7{gap:48px}.g-8{gap:64px}.secondary{color:var(--cds-text-secondary)}.helper{color:var(--cds-text-helper)}.primary{color:var(--cds-text-primary)}.right{text-align:right}.cv-entry-grid{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:24px 0;border-bottom:1px solid var(--cds-border-subtle)}@media (max-width:720px){.cv-entry-grid{grid-template-columns:1fr;gap:8px}}.blog-filter-toggle{display:inline-flex;align-items:center;gap:8px}.blog-filter-toggle--active{border-color:var(--cds-blue-60)}.blog-filter-drawer{border:1px solid var(--cds-border-subtle);border-top:none;padding:0 16px;background:var(--cds-layer-01)}@media (max-width:720px){.blog-filter-toggle{width:100%;justify-content:flex-start}.row.between{flex-direction:column;align-items:flex-start;gap:8px}}.not-found{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:64px 0;background:var(--cds-background)}.not-found__inner{max-width:960px;margin:0 auto;width:100%}.not-found__terminal{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--cds-layer-01);border-left:2px solid var(--cds-blue-60);margin-bottom:48px;font:var(--cds-type-code-01);color:var(--cds-text-secondary);flex-wrap:wrap}.not-found__prompt{color:var(--cds-blue-60);font-weight:600}.not-found__path{color:var(--cds-text-primary);border-bottom:1px dashed var(--cds-border-strong);padding-bottom:1px}.not-found__code{display:flex;align-items:baseline;gap:.04em;font-family:var(--cds-font-mono);font-size:clamp(96px,22vw,240px);line-height:.9;font-weight:300;letter-spacing:-.04em;color:var(--cds-text-primary);margin-bottom:32px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.not-found__digit{display:inline-block}.not-found__digit--accent{color:var(--cds-blue-60);position:relative;animation:nf-blink 1.4s var(--cds-ease-productive) infinite}@keyframes nf-blink{0%,to{opacity:1}45%{opacity:.25}55%{opacity:1}}@media (prefers-reduced-motion:reduce){.not-found__digit--accent{animation:none}}.not-found__title{font-family:var(--cds-font-sans);font-size:clamp(28px,4vw,40px);line-height:1.2;font-weight:300;letter-spacing:var(--cds-letter-spacing-display);color:var(--cds-text-primary);margin:0 0 16px;max-width:720px}.not-found__title em{font-style:italic;font-weight:300;color:var(--cds-blue-60)}.not-found__lead{font:var(--cds-type-body-02);color:var(--cds-text-secondary);max-width:580px;margin:0;line-height:1.6}.not-found__actions{display:flex;flex-wrap:wrap;gap:12px;margin:40px 0 64px}.not-found__grid{background:var(--cds-border-subtle)}.not-found__tile{display:block;padding:20px 24px}.not-found__tile-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.not-found__tile-label{font:var(--cds-type-heading-01);font-weight:600;color:var(--cds-text-primary);letter-spacing:.16px}.not-found__tile-arrow{color:var(--cds-blue-60);flex-shrink:0}.not-found__tile-desc{font:var(--cds-type-body-01);color:var(--cds-text-secondary);margin:0;line-height:1.5}.dark .not-found__tile{background:var(--cds-layer-02)}.ibm-blog-layout{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start}@media (max-width:1024px){.ibm-blog-layout{grid-template-columns:1fr;gap:28px}}.ibm-blog-sidebar{position:sticky;top:72px;display:flex;flex-direction:column;gap:32px}.ibm-sidebar-section__title{font:var(--cds-type-label-01);text-transform:uppercase;letter-spacing:.32px;color:var(--cds-text-secondary);margin-bottom:12px;font-weight:600}.ibm-category-list{display:flex;flex-direction:column;gap:2px}.ibm-category-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:transparent;border:none;border-left:3px solid transparent;color:var(--cds-text-secondary);font:var(--cds-type-body-01);cursor:pointer;text-align:left;transition:all var(--cds-duration-fast-02) var(--cds-ease-productive);width:100%}.ibm-category-item:hover{background:var(--cds-layer-hover-01);color:var(--cds-text-primary)}.ibm-category-item--active{border-left-color:var(--cds-interactive-01);background:var(--cds-layer-01);color:var(--cds-text-primary);font-weight:600}.ibm-category-item__left{display:flex;align-items:center;gap:10px}.ibm-category-item__count{font:var(--cds-type-helper-01);font-size:.75rem;color:var(--cds-text-helper);padding:2px 6px;background:var(--cds-layer-02);border-radius:10px}.ibm-category-item--active .ibm-category-item__count{background:var(--cds-interactive-01);color:#fff}.ibm-topics-cloud{display:flex;flex-wrap:wrap;gap:6px}.ibm-topic-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font:var(--cds-type-label-01);font-size:.75rem;background:var(--cds-layer-01);border:1px solid var(--cds-border-subtle);color:var(--cds-text-secondary);cursor:pointer;transition:all var(--cds-duration-fast-02) var(--cds-ease-productive)}.ibm-topic-btn:hover{background:var(--cds-layer-hover-01);color:var(--cds-text-primary);border-color:var(--cds-border-strong)}.ibm-topic-btn--active{background:var(--cds-interactive-01);border-color:var(--cds-interactive-01);color:#fff}.ibm-hero-card{display:flex;flex-direction:column;background:var(--cds-layer-01);border:1px solid var(--cds-border-subtle);color:inherit;overflow:hidden;margin-bottom:32px;transition:border-color var(--cds-duration-fast-02) var(--cds-ease-productive),box-shadow var(--cds-duration-fast-02) var(--cds-ease-productive)}.ibm-hero-card,.ibm-hero-card *{text-decoration:none!important}.ibm-hero-card:hover{border-color:var(--cds-border-strong);box-shadow:0 4px 20px rgba(0,0,0,.12)}.dark .ibm-hero-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.4)}.ibm-hero-card__media{position:relative;width:100%;aspect-ratio:21/9;max-height:440px;background:#000;overflow:hidden;display:flex;align-items:center;justify-content:center}@media (max-width:768px){.ibm-hero-card__media{aspect-ratio:16/9}}.ibm-hero-card__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--cds-duration-moderate-02) var(--cds-ease-productive)}.ibm-hero-card:hover .ibm-hero-card__media img{transform:scale(1.02)}.ibm-hero-card__body{padding:24px 32px 28px;display:flex;flex-direction:column;gap:16px;background:var(--cds-background)}.ibm-hero-card__eyebrow{display:flex;align-items:center;gap:12px;font:var(--cds-type-label-01);color:var(--cds-text-secondary);letter-spacing:.32px;text-transform:uppercase;flex-wrap:wrap}.ibm-hero-card__category{display:inline-flex;align-items:center;gap:6px;color:var(--cds-blue-60);font-weight:600}.ibm-hero-card__main{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.ibm-hero-card__title{font:var(--cds-type-heading-05);font-size:clamp(1.375rem,2.5vw,2rem);font-weight:400;line-height:1.25;color:var(--cds-text-primary);margin:0;transition:color var(--cds-duration-fast-02) var(--cds-ease-productive)}.ibm-hero-card:hover .ibm-hero-card__title{color:var(--cds-text-primary);font-weight:600}.ibm-hero-card__arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid var(--cds-border-subtle);background:var(--cds-layer-01);color:var(--cds-text-primary);transition:all var(--cds-duration-fast-02) var(--cds-ease-productive)}.ibm-hero-card:hover .ibm-hero-card__arrow{background:var(--cds-interactive-01);border-color:var(--cds-interactive-01);color:#fff;transform:translateX(4px)}.ibm-hero-card__footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:12px;border-top:1px solid var(--cds-border-subtle)}.ibm-blog-search{display:flex;align-items:center;width:100%;position:relative;background:var(--cds-background);border-bottom:2px solid var(--cds-border-subtle);margin-bottom:28px;transition:border-color var(--cds-duration-fast-02) var(--cds-ease-productive)}.ibm-blog-search:focus-within{border-bottom-color:var(--cds-interactive-01)}.ibm-blog-search__icon{position:absolute;left:12px;color:var(--cds-text-secondary);pointer-events:none;display:flex;align-items:center}.ibm-blog-search__input{width:100%;padding:14px 40px 14px 44px;font:var(--cds-type-body-02);font-size:1rem;background:transparent;border:none;color:var(--cds-text-primary);outline:none}.ibm-blog-search__input::-moz-placeholder{color:var(--cds-text-placeholder)}.ibm-blog-search__input::placeholder{color:var(--cds-text-placeholder)}.ibm-blog-search__clear{position:absolute;right:12px;background:none;border:none;font-size:1rem;color:var(--cds-text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.ibm-blog-search__clear:hover{color:var(--cds-text-primary)}.ibm-active-filters-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding:10px 14px;background:var(--cds-layer-01)}.ibm-active-filters-bar,.ibm-filter-chip{align-items:center;border:1px solid var(--cds-border-subtle)}.ibm-filter-chip{display:inline-flex;gap:6px;padding:2px 8px;background:var(--cds-layer-02);font:var(--cds-type-label-01);font-size:.75rem;color:var(--cds-text-primary)}.ibm-filter-chip button{background:none;border:none;cursor:pointer;color:var(--cds-text-secondary);padding:0;display:inline-flex}.ibm-filter-chip button:hover{color:var(--cds-text-error)}.ibm-editorial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media (max-width:768px){.ibm-editorial-grid{grid-template-columns:1fr;gap:20px}}.ibm-editorial-card{display:flex;flex-direction:column;background:var(--cds-layer-01);border:1px solid var(--cds-border-subtle);color:inherit;transition:all var(--cds-duration-fast-02) var(--cds-ease-productive);position:relative;overflow:hidden}.ibm-editorial-card,.ibm-editorial-card *{text-decoration:none!important}.ibm-editorial-card:hover{background:var(--cds-layer-hover-01);border-color:var(--cds-border-strong);box-shadow:0 4px 16px rgba(0,0,0,.08)}.dark .ibm-editorial-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.35)}.ibm-editorial-card__media{position:relative;width:100%;aspect-ratio:16/9;background:var(--cds-layer-02);overflow:hidden}.ibm-editorial-card__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--cds-duration-moderate-02) var(--cds-ease-productive)}.ibm-editorial-card:hover .ibm-editorial-card__media img{transform:scale(1.02)}.ibm-editorial-card__body{padding:24px;display:flex;flex-direction:column;flex:1}.ibm-editorial-card__eyebrow{display:flex;align-items:center;gap:8px;font:var(--cds-type-label-01);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;color:var(--cds-text-secondary);margin-bottom:12px}.ibm-editorial-card__title{font:var(--cds-type-heading-03);font-weight:400;line-height:1.35;color:var(--cds-text-primary);margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color var(--cds-duration-fast-02) var(--cds-ease-productive)}.ibm-editorial-card:hover .ibm-editorial-card__title{color:var(--cds-text-primary);font-weight:600}.ibm-editorial-card__desc{font:var(--cds-type-body-01);color:var(--cds-text-secondary);line-height:1.55;margin:0 0 20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.ibm-editorial-card__footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:14px;border-top:1px solid var(--cds-border-subtle);margin-top:auto}.ibm-editorial-card__meta{font:var(--cds-type-helper-01);color:var(--cds-text-placeholder)}.ibm-editorial-card__tags{display:flex;flex-wrap:wrap;gap:4px}.about-skills-grid{display:flex;flex-direction:column;gap:20px}.about-skill-card{background:var(--cds-layer-01);border:1px solid var(--cds-border-subtle);padding:24px;display:flex;flex-direction:column;gap:12px;transition:background-color var(--cds-duration-fast-02) var(--cds-ease-productive),border-color var(--cds-duration-fast-02) var(--cds-ease-productive)}.about-skill-card:hover{background:var(--cds-layer-hover-01);border-color:var(--cds-border-strong)}.about-skill-card__eyebrow{display:flex;align-items:center;gap:8px;font:var(--cds-type-label-01);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;color:var(--cds-text-secondary)}.about-skill-card__title{font:var(--cds-type-heading-03);font-size:1.125rem;font-weight:600;color:var(--cds-text-primary);margin:0}.about-skill-card__desc{font:var(--cds-type-body-01);font-size:.875rem;color:var(--cds-text-secondary);line-height:1.5;margin:0}.about-skill-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.about-cert-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px}.about-cert-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:var(--cds-layer-01);border:1px solid var(--cds-border-subtle);color:inherit;transition:all var(--cds-duration-fast-02) var(--cds-ease-productive)}.about-cert-card,.about-cert-card *{text-decoration:none!important}.about-cert-card:hover{background:var(--cds-layer-hover-01);border-color:var(--cds-border-strong);box-shadow:0 2px 10px rgba(0,0,0,.08)}.dark .about-cert-card:hover{box-shadow:0 2px 10px rgba(0,0,0,.35)}.about-cert-card__left{display:flex;flex-direction:column;gap:6px;min-width:0}.about-cert-card__eyebrow{font:var(--cds-type-label-01);font-size:.75rem;color:var(--cds-text-secondary);text-transform:uppercase;letter-spacing:.32px}.about-cert-card__title{font:var(--cds-type-heading-02);font-size:1rem;font-weight:600;color:var(--cds-text-primary);margin:0;transition:color var(--cds-duration-fast-02) var(--cds-ease-productive)}.about-cert-card:hover .about-cert-card__title{color:var(--cds-link-primary)}.about-cert-card__arrow{color:var(--cds-blue-60);flex-shrink:0;transition:transform var(--cds-duration-fast-02) var(--cds-ease-productive)}.about-cert-card:hover .about-cert-card__arrow{transform:translate(2px,-2px)}:root{--cds-font-sans:var(--font-sans-next,"IBM Plex Sans"),system-ui,sans-serif;--cds-font-mono:var(--font-mono-next,"IBM Plex Mono"),ui-monospace,monospace;--font-size-body-desktop:19px;--font-size-body-mobile:17px;--font-size-offset:0px}body{font-size:calc(var(--font-size-body-desktop) + var(--font-size-offset))}@media screen and (max-width:768px){body{font-size:calc(var(--font-size-body-mobile) + var(--font-size-offset))}}p{font-size:1em}*{border-radius:0!important}.cds-tag,.status-pill,.tag{border-radius:9999px!important}.status-pill .dot,.status-pill .dot:after{border-radius:50%!important}@media (max-width:719px){.cds-header{transition:transform .25s ease}.cds-header--hidden{transform:translateY(-100%)}}a:not(.btn){color:var(--cds-link-primary);text-decoration:none;transition:color var(--cds-duration-fast-02) var(--cds-ease-productive)}a:not(.btn):hover{color:var(--cds-link-primary-hover);text-decoration:underline}.cds-header a,.cds-header a:hover{text-decoration:none!important}.cds-header a.cds-header__brand,.cds-header a.cds-header__brand:hover{color:var(--cds-white)!important}.cds-header .cds-header__brand .scope,.cds-header .cds-header__nav a{color:var(--cds-gray-30)!important}.cds-header .cds-header__nav a:hover{color:var(--cds-white)!important;background:var(--cds-gray-85)!important}.cds-header .cds-header__nav a.active{color:var(--cds-white)!important}.cds-header a.cds-header__icon{color:var(--cds-gray-30)!important}.cds-header a.cds-header__icon.active,.cds-header a.cds-header__icon:hover{color:var(--cds-white)!important}.menu-overlay a,.menu-overlay a:hover{color:var(--cds-gray-10)!important;text-decoration:none!important}.menu-overlay a.active{color:var(--cds-white)!important}.site-footer a{color:var(--cds-gray-30)!important;text-decoration:none!important}.site-footer a:hover{color:var(--cds-white)!important;text-decoration:underline!important}.site-footer .socials a{color:var(--cds-gray-30)!important;padding:0}.site-footer .socials a:hover{color:var(--cds-white)!important}.page-header__breadcrumb a{color:var(--cds-text-secondary)}.page-header__breadcrumb a:hover{color:var(--cds-text-primary)}[data-screen-label="home/hero"] h1{font-family:var(--cds-font-sans);font-size:60px;line-height:1.05;font-weight:300;letter-spacing:var(--cds-letter-spacing-hero);margin:0}@media (max-width:720px){.page-header .btn{font-size:13px;padding:10px 14px;height:auto}}