@font-face{font-family:"PP Neue Montreal";src:url("../fonts/PPNeueMontreal-Book.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"PP Neue Montreal";src:url("../fonts/PPNeueMontreal-Medium.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"PP Neue Montreal";src:url("../fonts/PPNeueMontreal-Semibold.woff2") format("woff2");font-style:normal;font-weight:600 800;font-display:swap}
@font-face{font-family:"PP Pangram Sans";src:url("../fonts/PPPangramSans-Semibold.woff") format("woff");font-style:normal;font-weight:600 900;font-display:swap}
@font-face{font-family:"PP Neue Montreal Mono";src:url("../fonts/PPNeueMontrealMono-Book.woff2") format("woff2");font-weight:400;font-display:swap}
:root{color-scheme:light;--cobalt:#2440fa;--cobalt2:#1432cd;--ink:#141322;--mint:#dcfbe9;--violet:#dccaff;--acid:#eaff74;--pink:#ffd5ec;--cream:#f7f8f4;--white:#fff;--line:rgba(20,19,34,.24);--line-white:rgba(255,255,255,.3);--muted:#55535f;--font:"PP Neue Montreal",Arial,sans-serif;--display:"PP Pangram Sans","PP Neue Montreal",sans-serif;--mono:"PP Neue Montreal Mono",monospace;--cds-font-family:var(--font);--cds-body-font-family:var(--font);--cds-heading-font-family:var(--font);--cds-font-family-sans:var(--font);--cds-link-primary:var(--cobalt);--cds-interactive:var(--cobalt);--cds-focus:var(--cobalt);--cds-button-primary:var(--cobalt)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font:400 18px/1.48 var(--font);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}a{color:inherit;text-underline-offset:.22em}
a:hover{color:var(--cobalt2)}a:focus-visible,button:focus-visible{outline:3px solid #912e9c;outline-offset:4px}
h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-weight:500;letter-spacing:-.035em}
h1,h2{line-height:.98}p{max-width:67ch}strong{font-weight:600}
.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);background:var(--cream);position:relative;z-index:20}
.container{max-width:1536px;padding-inline:clamp(22px,4.3vw,76px);margin-inline:auto}
.site-header.container{max-width:none}
.logo{display:flex;align-items:center;width:138px;flex:0 0 auto;line-height:0}
.logo img{width:100%;height:auto}
.header-right{display:flex;align-items:center;gap:clamp(22px,3.3vw,60px)}
.primary-nav{display:flex;align-items:center;gap:clamp(17px,2.2vw,38px)}
.primary-nav a{font-size:15px;text-decoration:none;font-weight:500;line-height:84px;white-space:nowrap;position:relative}
.primary-nav a[aria-current="page"]::after{content:"";height:4px;background:var(--cobalt);position:absolute;bottom:1px;left:0;right:0}
.nav-cta{border:1px solid var(--ink);padding:12px 17px;text-decoration:none;display:inline-flex;align-items:center;gap:20px;font-size:15px;font-weight:600}
.nav-cta:hover{background:var(--acid);color:var(--ink)}
.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:9px 13px;font:600 15px var(--font);color:var(--ink)}
.skip{position:absolute;left:12px;top:-100px;background:var(--acid);padding:12px;z-index:50}
.skip:focus{top:8px}
.eyebrow,.meta,.section-no,.card-meta,.figmeta{font:400 13px/1.5 var(--mono);letter-spacing:.01em}
.eyebrow{display:block;text-transform:uppercase;margin-bottom:25px}
.section-no{color:var(--muted)}
.hero{background:var(--cobalt);color:var(--white);overflow:hidden}
.hero-inner{min-height:700px;padding-top:clamp(44px,7vw,106px);padding-bottom:clamp(60px,8vw,108px);display:flex;flex-direction:column;justify-content:space-between}
.hero-eyebrow{border-top:1px solid var(--line-white);padding-top:16px;display:flex;justify-content:space-between;gap:16px;font:400 13px var(--mono)}
.hero h1{font-family:var(--display);font-weight:600;letter-spacing:-.065em;line-height:.92;font-size:clamp(65px,10.6vw,176px);max-width:1450px;margin:45px 0 70px;overflow-wrap:normal}
.hero h1 .accent{color:var(--acid)}
.hero-bottom{border-top:1px solid var(--line-white);padding-top:26px;display:grid;grid-template-columns: minmax(260px,650px) auto;align-items:end;justify-content:space-between;gap:35px}
.hero-bottom .dek{font-size:clamp(21px,2.2vw,31px);line-height:1.3;letter-spacing:-.025em;max-width:720px;margin:0}
.action-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.action{border:1px solid currentColor;text-decoration:none;padding:17px 22px;display:inline-flex;justify-content:space-between;gap:36px;align-items:center;font:500 15px var(--font);min-width:175px;transition:background .16s,color .16s}
.action.primary{background:var(--acid);border-color:var(--acid);color:var(--ink)}
.action.secondary{color:var(--white)}
.action:hover{background:#fff;color:var(--ink)}
.intro{display:grid;grid-template-columns: minmax(230px, 4fr) minmax(0, 8fr);column-gap:clamp(40px,7vw,120px);padding-top:clamp(75px,9vw,150px);padding-bottom:clamp(80px,11vw,175px)}
.intro h2{font-size:clamp(44px,6vw,93px);font-weight:500;margin:0}
.intro .lede{font-size:clamp(23px,2.6vw,40px);letter-spacing:-.03em;line-height:1.25;max-width:770px}
.intro .bodycopy{font-size:18px;max-width:650px;color:#383744}
.section-heading{display:grid;grid-template-columns: 1fr auto;gap:30px;align-items:end;border-top:1px solid var(--line);padding-top:20px;margin-bottom:65px}
.section-heading h2{font-size:clamp(40px,5vw,77px);margin:0;letter-spacing:-.048em}
.section-heading .section-note{font-size:15px;max-width:280px;margin:0}
.category{background:var(--acid);color:var(--ink);padding-top:clamp(68px,7vw,116px);padding-bottom:clamp(74px,9vw,160px)}
.category-label{border-top:1px solid var(--ink);padding-top:16px}
.category h2{font:600 clamp(62px,9.5vw,154px)/.97 var(--display);letter-spacing:-.065em;max-width:1250px;margin:70px 0}
.category-bottom{display:grid;grid-template-columns:1fr minmax(320px,500px);align-items:start;gap:45px;border-top:1px solid var(--ink);padding-top:28px}
.category-bottom p{font-size:clamp(19px,2vw,28px);line-height:1.33;letter-spacing:-.025em;margin:0}
.category-bottom .footnote{font:400 13px/1.5 var(--mono);align-self:end;max-width:300px}
.mechanics{padding-block:clamp(75px,9vw,155px);background:var(--cream)}
.mechanics-grid{display:grid;grid-template-columns: repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.principle{padding:30px 25px 48px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:340px;display:flex;flex-direction:column;align-items:flex-start}
.principle:nth-child(2){background:var(--violet)}.principle:nth-child(3){background:var(--mint)}
.principle h3{margin:auto 0 21px;font-size:clamp(30px,3.4vw,57px);line-height:1.06;max-width:300px}
.principle p{font-size:16px;line-height:1.52;margin-bottom:0;max-width:390px}
.research{padding-block:clamp(75px,9vw,146px);background:var(--pink)}
.research-columns{display:grid;grid-template-columns: 2fr 1fr;gap:1px;background:var(--ink);border:1px solid var(--ink)}
.research-feature,.research-aside{background:var(--pink);padding:clamp(27px,4vw,65px);display:flex;flex-direction:column;min-height:440px}
.research-feature h3{font:600 clamp(44px,5.1vw,78px)/1.05 var(--display);letter-spacing:-.055em;max-width:850px;margin:65px 0 28px}
.research-aside h3{font-size:32px;line-height:1.09;margin:55px 0 24px}
.research-aside{background:#fff}
.research-feature p,.research-aside p{font-size:17px}
.research-feature .paperlink,.research-aside .paperlink{margin-top:auto;padding-top:35px;font-weight:600;display:inline-flex;gap:20px;text-decoration:none}
.research-feature .paperlink:hover,.research-aside .paperlink:hover{text-decoration:underline}
.company-strip{padding:90px 0;background:var(--ink);color:#fff}
.company-strip .two{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.company-strip h2{font-size:clamp(42px,5.5vw,86px);margin:0}
.company-strip p{font-size:clamp(20px,2.2vw,32px);line-height:1.3;letter-spacing:-.02em}
.site-footer{background:var(--violet);color:var(--ink);padding-top:88px}
.footer-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--ink);padding-top:22px}
.footer-head h2{font-size:clamp(55px,7vw,112px);line-height:1;margin:25px 0 35px;font-family:var(--display);font-weight:600;letter-spacing:-.052em}
.footer-head p{font-size:18px}
.footer-head a.email{font-size:clamp(20px,2.8vw,37px);text-decoration:none;border-bottom:2px solid var(--ink);display:inline-block;margin-top:28px}
.footer-head a.email:hover{color:var(--cobalt)}
.footer-grid{display:flex;gap:30px;flex-wrap:wrap;justify-content:space-between;border-top:1px solid var(--ink);padding:24px 0;margin-top:90px}
.footer-grid p,.footer-grid a{font:400 13px var(--mono);text-decoration:none}
.footer-grid nav{display:flex;gap:25px;flex-wrap:wrap}
.page-head{padding-top:80px;padding-bottom:120px;background:var(--cream)}
.page-head .overline{border-top:1px solid var(--line);padding-top:15px}
.page-head h1{font:600 clamp(74px,9.8vw,151px)/.94 var(--display);letter-spacing:-.065em;max-width:1220px;margin:70px 0 50px}
.page-head p{font-size:clamp(22px,2.3vw,35px);line-height:1.35;max-width:810px}
.prose-section{padding:75px 0 130px;background:var(--white)}
.prose-grid{display:grid;grid-template-columns: 3fr 7fr;gap:80px;border-top:1px solid var(--line);padding-top:45px;margin-bottom:110px}
.prose-grid h2{font-size:clamp(34px,4vw,65px);line-height:1.07;margin:0}
.prose-grid .copy{font-size:19px;max-width:730px}
.prose-grid .copy p{margin-bottom:24px}
.prose-grid .copy h3{font-size:27px;margin:36px 0 15px}
.prose-grid .copy a{color:var(--cobalt)}
.listing{background:var(--white);padding-top:75px;padding-bottom:130px}
.listing-title{font-size:20px;border-top:1px solid var(--line);padding:15px 0;margin:0 0 24px}
.listing-item{display:grid;grid-template-columns:190px minmax(0,1fr) 60px;gap:45px;border-top:1px solid var(--line);padding:36px 0;color:var(--ink);text-decoration:none}
.listing-item:last-of-type{border-bottom:1px solid var(--line)}
.listing-item .listing-name{font-size:clamp(33px,4vw,67px);line-height:1.05;letter-spacing:-.035em;max-width:850px}
.listing-item:hover{background:var(--acid);color:var(--ink)}
.listing-item p{font-size:16px;max-width:620px;margin:15px 0 0}
.listing-item .arrow{font-size:35px;justify-self:end}
.listing .section-note{max-width:730px;font-size:18px;margin-top:42px}
.paper-head{background:var(--mint);padding:60px 0 90px}
.paper-head h1{font:600 clamp(54px,7vw,110px)/1.03 var(--display);letter-spacing:-.05em;max-width:1200px;margin:44px 0 30px}
.paper-head .paper-subtitle{font-size:clamp(22px,2.4vw,35px);letter-spacing:-.026em;max-width:860px}
.paper-head .paper-meta{border-top:1px solid var(--ink);padding-top:15px;margin-top:65px;display:flex;gap:40px;flex-wrap:wrap}
.paper-shell{padding-top:65px;padding-bottom:140px;background:#fff}
.paper-layout{display:grid;grid-template-columns:250px minmax(0,840px);gap:clamp(40px,7vw,110px)}
.paper-nav{font:400 13px var(--mono);position:sticky;top:24px;align-self:start}
.paper-nav a{display:block;text-decoration:none;border-top:1px solid var(--line);padding:10px 0}
.paper-nav a:hover{color:var(--cobalt)}
.article{font-size:18px;line-height:1.58;overflow-wrap:anywhere}
.article h2{font-size:clamp(30px,3vw,47px);font-weight:600;letter-spacing:-.037em;line-height:1.12;margin:76px 0 24px;scroll-margin-top:90px}
.article h2:first-child{margin-top:0}
.article h3{font-size:26px;font-weight:600;letter-spacing:-.025em;margin:40px 0 15px}
.article p{max-width:68ch;margin:0 0 25px}
.article table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.5;margin:24px 0 42px;display:block;overflow-x:auto}
.article th,.article td{padding:13px 14px;border:1px solid #bbb;text-align:left;vertical-align:top;min-width:155px}
.article th{background:var(--cream)}
.article ol,.article ul{padding-left:25px;margin:12px 0 35px}
.article li{margin-bottom:12px}
.article a{color:var(--cobalt);word-break:break-word}
.article hr{border:0;border-top:1px solid var(--line);margin:45px 0}
.article blockquote{border-left:4px solid var(--cobalt);margin:24px 0;padding:10px 25px}
.article code{font:400 .82em var(--mono);background:#f0f0f0;padding:2px 5px}
.article pre{overflow:auto;background:#11101e;color:#fff;padding:24px;font-size:13px}
.article .source-list{font-size:15px;line-height:1.54}
.utility-link{font-size:14px;font-weight:600;display:inline-flex;gap:18px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:8px}
.no-js-note{font-size:13px}
@media(max-width:1000px){.hero-inner{min-height:620px}.hero-bottom{grid-template-columns:1fr}.intro{grid-template-columns:1fr;gap:40px}.category-bottom{grid-template-columns:1fr}.mechanics-grid{grid-template-columns:1fr 1fr}.research-columns{grid-template-columns:1fr}.research-feature,.research-aside{min-height:360px}.paper-layout{grid-template-columns:170px minmax(0,1fr)}}
@media(max-width:750px){body{font-size:16px}.site-header{height:68px;flex-wrap:wrap;align-content:center}.logo{width:120px}.header-right{gap:15px}.menu-toggle{display:inline-block}.nav-cta{display:none}.primary-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--cream);padding:15px 22px 26px;box-shadow:0 20px 30px rgba(0,0,0,.12);flex-direction:column;align-items:flex-start;gap:0}.primary-nav.open{display:flex}.primary-nav a{line-height:1.5;padding:14px 0;width:100%;border-bottom:1px solid var(--line)}.primary-nav a[aria-current="page"]::after{bottom:5px;width:46px;right:auto}.hero-inner{min-height:650px;padding-top:38px;padding-bottom:55px}.hero h1{font-size:clamp(58px,14.4vw,94px);margin:62px 0}.hero-eyebrow span:last-child{display:none}.hero-bottom{gap:35px}.hero-bottom .dek{font-size:23px}.action{width:100%}.category h2{font-size:clamp(56px,13.5vw,95px)}.intro{padding-block:80px}.intro h2{font-size:60px}.mechanics-grid{grid-template-columns:1fr}.principle{min-height:240px}.principle h3{margin-top:30px;font-size:42px}.section-heading{grid-template-columns:1fr;gap:12px;margin-bottom:36px}.section-heading h2{font-size:52px}.footer-head,.company-strip .two,.prose-grid{grid-template-columns:1fr;gap:24px}.company-strip{padding:70px 0}.site-footer{padding-top:55px}.footer-grid{margin-top:60px}.page-head{padding:58px 0 75px}.page-head h1{font-size:clamp(62px,14vw,105px);margin:48px 0 30px}.prose-grid{margin-bottom:60px}.listing-item{grid-template-columns:1fr 35px;gap:15px}.listing-item .meta{grid-column:1/3}.listing-item .listing-name{font-size:42px}.listing-item .arrow{grid-column:2;grid-row:2}.listing-item p{font-size:16px}.paper-head h1{font-size:clamp(55px,11vw,90px)}.paper-layout{display:block}.paper-nav{display:none}.paper-shell{padding-block:35px 85px}.article{font-size:16px}.article h2{margin-top:52px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.paper-nav{display:none}.article{max-width:none}.paper-head,.paper-shell{background:white}}

/* Vloora's theme overrides for the IBM.com Carbon leadspace. */
c4d-leadspace.vloora-leadspace{
  display:block;
  background:transparent;
  color:var(--white);
  --cds-background:var(--cobalt);
  --cds-text-primary:var(--white);
  --cds-text-secondary:var(--white);
  --cds-link-primary:var(--acid);
}
c4d-leadspace.vloora-leadspace c4d-leadspace-heading{
  display:block!important;
  inline-size:100%!important;
  width:100%!important;
  max-inline-size:none!important;
  max-width:none!important;
  margin:0!important;
  color:var(--white)!important;
}
c4d-leadspace.vloora-leadspace h1{max-width:100%!important}
@media(max-width:750px){
  html:not(.js) .primary-nav{display:flex}
}
