@font-face{font-family:IBM Plex Sans;src:url(/_astro/ibm-plex-sans-variable-latin.BD64o3ke.woff2)format("woff2");font-weight:100 700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/_astro/ibm-plex-mono-regular.DLhfN4w6.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/_astro/ibm-plex-mono-medium.Z1fdglr7.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--canvas:#fcfbff;--surface:#fff;--dark:#171523;--band:#f4f1fa;--ink:#211f2b;--muted:#5f5a6b;--subtle:#746e7d;--hairline:#d9d4e2;--control:#80788e;--on-dark:#f7f4ff;--on-dark-muted:#c2bbcf;--action:#5b3fd1;--action-hover:#4930b3;--action-pressed:#382288;--link-dark:#c7baff;--focus:#7c5cfa;--focus-dark:#b7a7ff;--dark-hairline:#3b3946;--review:#ffe066;--review-edge:#b38f00;--sans:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--gutter:24px;--header-h:64px;--dur-micro:.12s;--dur-short:.2s;--dur-medium:.32s;--ease:cubic-bezier(.2, 0, 0, 1)}@media (width>=768px){:root{--gutter:40px}}@media (width>=1024px){:root{--gutter:80px;--header-h:72px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--canvas);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:25px}img{max-width:100%;display:block}a{color:var(--action)}a:hover{color:var(--action-hover)}h1,h2,h3,p,ul,ol{margin:0}button{font:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.on-dark :focus-visible{outline-color:var(--focus-dark)}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--hairline);border-radius:8px;padding:10px 14px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}section[id],h2[id]{scroll-margin-top:calc(var(--header-h) + 16px)}.container{width:100%;max-width:calc(1280px + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:600;line-height:20px}.display{letter-spacing:-.018em;text-wrap:balance;font-size:31px;font-weight:600;line-height:35px}.section-title{letter-spacing:-.012em;text-wrap:balance;font-size:25px;font-weight:600;line-height:34px}.subhead{letter-spacing:-.006em;text-wrap:balance;font-size:20px;font-weight:600;line-height:27px}.muted{color:var(--muted)}p{text-wrap:pretty}@media (width>=1024px){.display{letter-spacing:-.022em;font-size:39px;line-height:44px}.section-title{letter-spacing:-.018em;max-width:860px;font-size:31px;line-height:35px}}.review-copy-tag{z-index:60;background:var(--review);box-shadow:inset 0 0 0 1px var(--review-edge);color:var(--ink);font-family:var(--mono);pointer-events:none;border-radius:6px;padding:0 8px;font-size:11px;font-weight:500;line-height:22px;position:fixed;bottom:12px;left:12px}.btn{background:var(--action);color:#fff;cursor:pointer;height:48px;transition:background-color var(--dur-micro) var(--ease);border:0;border-radius:8px;justify-content:center;align-items:center;padding:0 24px;font-size:16px;font-weight:600;line-height:20px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--action-hover);color:#fff}.btn:active{background:var(--action-pressed)}.btn--block{width:100%;display:flex}@media (width>=1024px){.btn--block{width:auto;display:inline-flex}}.link-arrow{min-height:44px;color:var(--action);align-items:center;gap:8px;font-size:16px;font-weight:600;line-height:24px;text-decoration:none;display:inline-flex}.link-arrow:hover{text-underline-offset:4px;text-decoration:underline 1px}.link-arrow svg{transition:transform var(--dur-short) var(--ease)}.link-arrow:hover svg{transform:translate(4px)}.icon-btn{background:var(--surface);width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--hairline);color:var(--ink);cursor:pointer;transition:background-color var(--dur-micro) var(--ease);border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--band)}.icon-btn--outline{box-shadow:inset 0 0 0 1px var(--control);background:0 0}.icon-btn--plain{box-shadow:none;background:0 0}.site-header{z-index:50;background:var(--surface);border-bottom:1px solid var(--hairline);position:sticky;top:0}.site-header__bar{height:var(--header-h);justify-content:space-between;align-items:center;gap:16px;display:flex}.logo{border-radius:8px;flex-shrink:0;align-items:center;min-height:44px;margin-left:-6px;padding:6px;display:flex}.logo img{width:200px;height:auto}.site-nav{display:none}.site-nav ul{align-items:center;gap:4px;padding:0;list-style:none;display:flex}.site-nav a{height:44px;color:var(--ink);transition:background-color var(--dur-micro) var(--ease);border-radius:8px;align-items:center;padding:0 14px;font-size:14px;font-weight:500;line-height:22px;text-decoration:none;display:inline-flex}.site-nav a:hover{background:var(--band);color:var(--ink)}.site-nav a[aria-current=true]{box-shadow:inset 0 -2px 0 var(--action);border-radius:8px 8px 0 0}.menu-button{margin-right:-10px}.menu-button .icon-close,.menu-button[aria-expanded=true] .icon-open{display:none}.menu-button[aria-expanded=true] .icon-close{display:block}.menu-sheet{z-index:2;background:var(--surface);border-bottom:1px solid var(--hairline);animation:sheet-in var(--dur-medium) var(--ease) both;padding:8px 0 24px;position:absolute;top:100%;left:0;right:0;box-shadow:0 24px 48px -16px #17152373}.menu-sheet ul{padding:0;list-style:none}.menu-sheet li{margin:0 var(--gutter);border-bottom:1px solid var(--hairline)}.menu-sheet li:last-child{border-bottom:0}.menu-sheet a{height:56px;color:var(--ink);letter-spacing:-.006em;align-items:center;font-size:20px;font-weight:600;line-height:27px;text-decoration:none;display:flex}.menu-scrim{bottom:0;left:0;right:0;top:var(--header-h);z-index:1;background:#17152399;position:fixed}@keyframes sheet-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media (width>=1024px){.site-nav{display:block}.menu-button,.menu-sheet,.menu-scrim{display:none!important}}.section{padding:64px 0}.band{background:var(--band)}.on-dark{background:var(--dark);color:var(--on-dark)}@media (width>=1024px){.section{padding:88px 0}}.hero__grid{flex-direction:column;gap:48px;display:flex}.hero__text{flex-direction:column;gap:24px;display:flex}.hero h1{letter-spacing:-.022em;color:var(--on-dark);font-size:39px;font-weight:600;line-height:44px}.hero__copy{flex-direction:column;gap:16px;max-width:560px;display:flex}.hero__copy p{color:var(--on-dark-muted);font-size:18px;font-weight:500;line-height:28px}.hero .btn{margin-top:8px}.hero__media{aspect-ratio:4/3}img.hero__media{object-fit:cover;object-position:82% 50%;border-radius:16px;width:100%;height:auto}@media (width>=1024px){.hero__grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;column-gap:24px;display:grid}.hero__text{grid-column:1/span 6;align-items:flex-start}.hero h1{font-size:49px;line-height:54px}.hero .btn{margin-top:16px}.hero__media{grid-column:7/span 6}}.campus{flex-direction:column;gap:32px;display:flex}.campus__text{flex-direction:column;align-items:flex-start;display:flex}.campus__text .display{margin-top:12px}.campus__text p.lead{margin-top:24px;font-size:16px;line-height:25px}.campus__text .link-arrow{margin-top:12px}.campus__media{flex-direction:column;gap:8px;display:flex}.stage{aspect-ratio:4/3;background:var(--dark);border-radius:16px;position:relative;overflow:hidden}.stage__slide{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--dur-medium) var(--ease);position:absolute;inset:0}.stage__slide.is-current{opacity:1}.stage__controls{gap:8px;display:flex;position:absolute;bottom:12px;right:12px}.stage__dots{justify-content:center;display:flex}.stage__dots button{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.stage__dots span{width:8px;height:8px;box-shadow:inset 0 0 0 1.5px var(--control);border-radius:999px;display:block}.stage__dots [aria-pressed=true] span{background:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.stage__thumbs,.play-toggle .icon-pause,.play-toggle[aria-pressed=true] .icon-play{display:none}.play-toggle[aria-pressed=true] .icon-pause{display:block}.pos-left{object-position:0% 50%}@media (scripting:none){video[data-poster]{display:none}}@media (width>=1280px){.campus{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;display:grid}.campus__text{grid-column:1/span 5;padding-right:16px}.campus__text p.lead{font-size:18px;line-height:28px}.campus__text .link-arrow{margin-top:16px;font-size:18px;line-height:28px}.campus__media{grid-column:6/span 7;gap:16px}.stage{aspect-ratio:auto;flex:auto;min-height:400px}.stage__controls{bottom:16px;right:16px}.stage__dots{display:none}.stage__thumbs{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.stage__thumbs button{cursor:pointer;box-shadow:0 0 0 2px var(--canvas), 0 0 0 4px transparent;transition:box-shadow var(--dur-micro) var(--ease);background:0 0;border:0;border-radius:8px;padding:0;display:block}.stage__thumbs button[aria-pressed=true]{box-shadow:0 0 0 2px var(--canvas), 0 0 0 4px var(--ink)}.stage__thumbs img{aspect-ratio:16/9;object-fit:cover;border-radius:8px;width:100%;height:auto}}.features{border:1px solid var(--hairline);background:var(--hairline);border-radius:16px;grid-template-columns:minmax(0,1fr);gap:1px;margin-top:32px;display:grid;overflow:hidden}.feature{background:var(--surface);grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px 16px;padding:24px;display:grid}.feature__icon{background:var(--band);width:40px;height:40px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.feature p{color:var(--muted);grid-column:1/-1}@media (width>=1024px){.features{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:48px}.feature{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:8px 20px;padding:32px}.feature__icon{grid-row:1/span 2;width:44px;height:44px}.feature h3{padding-top:8px}.feature p{grid-column:2}}.customers-title{margin-top:64px}.cards{margin:24px calc(-1 * var(--gutter)) 0;padding:0 var(--gutter);scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter);gap:12px;display:flex;overflow-x:auto}.card{scroll-snap-align:start;border:1px solid var(--hairline);background:var(--surface);border-radius:16px;flex-direction:column;flex:0 0 300px;display:flex;overflow:hidden}.card__media{aspect-ratio:16/10;object-fit:cover;background:var(--band);width:100%;height:auto}.card__body{flex-direction:column;gap:12px;padding:20px 24px 24px;display:flex}.card__body p{color:var(--muted)}.scroller-controls{gap:12px;margin-top:16px;display:flex}@media (width>=1280px){.customers-title{margin-top:88px}.cards{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin:48px 0 0;padding:0;display:grid;overflow:visible}.card{grid-column:span 4}.card__media{aspect-ratio:16/9}.scroller-controls{display:none}}.panel{background:var(--surface);box-shadow:inset 0 0 0 1px var(--hairline);border-radius:16px;flex-direction:column;align-items:flex-start;gap:16px;padding:24px;display:flex}.panel__media{aspect-ratio:16/10;background:var(--band);border-radius:12px;align-self:stretch;width:100%;margin-bottom:8px;position:relative;overflow:hidden}.panel__media video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.panel__media .play-toggle{position:absolute;bottom:12px;right:12px}.panel__text{flex-direction:column;align-items:flex-start;gap:16px;max-width:660px;display:flex}.panel__text p.body{color:var(--muted)}@media (width>=1024px){.panel{grid-template-columns:360px minmax(0,1fr);align-items:center;column-gap:48px;padding:48px;display:grid}.panel__media{aspect-ratio:4/5;align-self:center;margin-bottom:0}.panel__text .subhead{letter-spacing:-.012em;font-size:25px;line-height:34px}.panel__text p.body{margin-top:8px}}.collab{flex-direction:column;align-items:flex-start;gap:24px;display:flex}.collab h2{color:var(--on-dark)}.collab__body{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.collab__body p{color:var(--on-dark-muted);font-size:16px;font-weight:500;line-height:25px}.collab__rule{background:var(--dark-hairline);align-self:stretch;height:1px;margin:8px 0}.collab__badge{width:181px;height:48px}@media (width>=1024px){.collab{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;column-gap:24px;display:grid}.collab h2{grid-column:1/span 5;line-height:40px}.collab__body{grid-column:7/span 6}.collab__body p{font-size:18px;line-height:28px}.collab__rule{margin:16px 0}.collab__badge{width:241px;height:64px}}.team{margin-top:24px;display:grid}.team__picker{grid-row:1;justify-content:space-between;display:flex}.team__picker button{width:44px;height:44px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0}.team__picker img{object-fit:cover;filter:grayscale();border-radius:999px;width:44px;height:44px}.team__picker button[aria-pressed=true]{box-shadow:0 0 0 2px var(--canvas), 0 0 0 4px var(--ink)}.team__picker .who{display:none}.team__people{border-top:1px solid var(--hairline);grid-row:2;margin-top:32px;padding-top:32px}.person{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:24px 16px;display:grid}.person+.person{margin-top:48px}.person__photo{object-fit:cover;filter:grayscale();border-radius:999px;width:96px;height:96px}.person__head{flex-direction:column;gap:2px;display:flex}.person__role{color:var(--muted)}.person__bio{flex-direction:column;grid-column:1/-1;gap:16px;display:flex}.team__nav{grid-row:3;gap:12px;margin-top:24px;display:flex}.js .person+.person{margin-top:0}@media (width>=1024px){.team{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;margin-top:48px}.team__people{border-top:0;grid-area:1/1/auto/-1;margin-top:0;padding-top:0}.person{grid-template-rows:auto 1fr;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:0 24px}.person__photo{aspect-ratio:1;grid-area:1/1/span 2/span 4;width:100%;max-width:351px;height:auto}.person__head{grid-column:6/span 7;gap:4px}.person__head h3{letter-spacing:-.012em;font-size:25px;line-height:34px}.person__role{font-size:18px;line-height:28px}.person__bio{grid-column:6/span 7;max-width:640px;margin-top:24px}.team__nav{grid-area:2/6/auto/span 7;margin-top:32px}.team__picker{border-top:1px solid var(--hairline);grid-area:3/1/auto/-1;grid-template-columns:repeat(7,minmax(0,1fr));gap:16px;margin-top:64px;display:grid}.team__picker button{border-top:2px solid #0000;border-radius:0;flex-direction:column;align-items:flex-start;gap:12px;width:auto;height:auto;margin-top:-1px;padding:24px 0 0;display:flex}.team__picker button[aria-pressed=true]{box-shadow:none;border-top-color:var(--ink)}.team__picker img{width:64px;height:64px}.team__picker .who{flex-direction:column;display:flex}.team__picker .who b{font-size:14px;font-weight:600;line-height:22px}.team__picker .who span{color:var(--muted);text-wrap:balance;font-size:13px;line-height:20px}}.site-footer{padding:48px 0 40px}.footer-top{flex-direction:column;align-items:flex-start;display:flex}.footer-top .btn{margin-top:32px}.footer-rule{background:var(--dark-hairline);height:1px;margin:32px 0 16px}.footer-bottom{flex-direction:column;display:flex}.footer-links{flex-direction:column;padding:0;list-style:none;display:flex}.footer-links a{height:44px;color:var(--on-dark-muted);align-items:center;font-size:14px;font-weight:500;line-height:22px;text-decoration:none;display:flex}.footer-links a:hover,.footer-links a[aria-current=page]{color:var(--on-dark);text-underline-offset:4px;text-decoration:underline}.cert{flex-direction:column;align-items:flex-start;gap:12px;margin-top:32px;display:flex}.cert img{width:206px;height:73px}.cert p{font-family:var(--mono);color:var(--on-dark-muted);font-size:13px;line-height:20px}@media (width>=1024px){.site-footer{padding:64px 0 56px}.footer-top{flex-direction:row;justify-content:space-between;align-items:center;gap:32px}.footer-top .btn{margin-top:0}.footer-rule{margin:48px 0 32px}.footer-bottom{flex-flow:wrap;justify-content:space-between;align-items:center;gap:32px}.footer-links{flex-flow:wrap;align-items:center;gap:8px 24px;margin-left:-8px}.footer-links a{border-radius:8px;padding:0 8px}.cert{flex-direction:row-reverse;align-items:center;gap:20px;margin-top:0}}.dialog{background:var(--surface);width:calc(100% - 32px);max-width:560px;color:var(--ink);border:0;border-radius:16px;padding:24px;box-shadow:0 0 0 1px #211f2b0f,0 40px 96px -24px #0a0814b3}.dialog::backdrop{background:#171523a3}.dialog[open]{animation:dialog-in var(--dur-medium) var(--ease) both}.dialog__head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dialog__head h2{letter-spacing:-.012em;padding-top:5px;font-size:25px;font-weight:600;line-height:34px}.dialog__close{margin-right:-10px}.dialog__block{flex-direction:column;gap:8px;margin-top:20px;display:flex}.dialog__block address{text-wrap:balance;font-size:18px;font-style:normal;line-height:28px}.dialog__rule{background:var(--hairline);height:1px;margin:24px 0}.dialog__mail{flex-direction:column;gap:4px;display:flex}.dialog__mail p{color:var(--muted);font-size:14px;font-weight:500;line-height:22px}.dialog__mail a{text-underline-offset:4px;align-self:flex-start;align-items:center;min-height:44px;font-size:18px;font-weight:600;line-height:28px;text-decoration:underline 1px;display:inline-flex}@keyframes dialog-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (width>=768px){.dialog{padding:32px}.dialog__block{margin-top:24px}.dialog__close{margin-right:-12px}}.page-top{padding:48px 0 0}.page-top h1{letter-spacing:-.018em;text-wrap:balance;font-size:31px;font-weight:600;line-height:35px}.page-top .meta{color:var(--muted);margin-top:12px;font-size:14px;font-weight:500;line-height:22px}.page-rule{background:var(--hairline);height:1px;margin-top:32px}.reading{padding:32px 0 64px}.prose{flex-direction:column;gap:16px;font-size:16px;line-height:25px;display:flex}.prose h2{border-top:1px solid var(--hairline);letter-spacing:.06em;margin-top:28px;padding-top:32px;font-size:16px;font-weight:600;line-height:24px}.prose>h2:first-child{border-top:0;margin-top:0;padding-top:0}.prose h3{font-size:inherit;line-height:inherit;margin-top:8px;font-weight:600}.prose ul{flex-direction:column;gap:8px;padding-left:24px;display:flex}.prose li{padding-left:4px}.prose a{text-underline-offset:3px;text-decoration:underline 1px}.toc-phone{border:1px solid var(--hairline);background:var(--surface);border-radius:12px;margin-top:0}.toc-phone summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:0 12px 0 16px;font-size:15px;font-weight:600;line-height:22px;list-style:none;display:flex}.toc-phone summary::-webkit-details-marker{display:none}.toc-phone summary svg{transition:transform var(--dur-short) var(--ease);flex-shrink:0}.toc-phone[open] summary svg{transform:rotate(180deg)}.toc-phone ol{padding:0 16px 12px;list-style:none}.toc-phone+.prose{margin-top:32px}.toc a{border-left:1px solid var(--hairline);min-height:44px;color:var(--muted);letter-spacing:.04em;align-items:center;padding:0 16px;font-size:13px;font-weight:500;line-height:20px;text-decoration:none;display:flex}.toc a:hover{color:var(--ink)}.toc a[aria-current=true]{border-left:2px solid var(--action);color:var(--ink);padding-left:15px;font-weight:600}.toc-desktop{display:none}@media (width>=1024px){.page-top{padding-top:88px}.reading-grid{grid-template-columns:216px minmax(0,720px);justify-content:start;align-items:start;column-gap:48px;display:grid}.reading-grid>.col-main{grid-column:2}.page-top h1{letter-spacing:-.022em;font-size:39px;line-height:44px}.page-top .meta{margin-top:16px}.page-rule{margin-top:48px}.reading{padding:56px 0 88px}.prose{gap:20px;font-size:18px;line-height:28px}.toc-phone{display:none}.toc-desktop{top:calc(var(--header-h) + 24px);flex-direction:column;grid-area:1/1;gap:12px;display:flex;position:sticky}.toc-desktop ol{padding:0;list-style:none}.toc-desktop a{min-height:0;padding-top:6px;padding-bottom:6px}}@media (width>=1280px){.reading-grid{grid-template-columns:216px minmax(0,720px) 216px;justify-content:space-between;column-gap:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.link-arrow:hover svg{transform:none}}
