:root{--sbw:0px;--u:calc((100vw - var(--sbw)) / 100);--header-h:120px;--ink:#000;--text:#3b3a3a;--muted:#858585;--pink:#e40d68;--logo-pink:#e11766;--cyan:#18ccff;--plum:#820c64;--tint:#f8fbfe;--grid-line:#e0e7ea;--menu-blue:#0b3784;--menu-active:#cda17c;--grad-deliver:linear-gradient(90deg, #fa7a37 0%, #b0034a 100%);--grad-warm:linear-gradient(90deg, #fa8232 0%, #f55050 24%, #e10a64 51%, #be0041 77%, #820a64 100%);--grad-cool:linear-gradient(90deg, #0087b5 0%, #18ccff 100%);--grad-publications:linear-gradient(108deg, #fd0a0a 0%, #fa862c 73.68%, #fa862c 100%);--grad-pipeline:linear-gradient(90deg, #fed001 0%, #f9db82 25%, #fea18e 50%, #fe948d 55%, #f88585 60%, #7d0202 100%);--ease-in-out-sine:cubic-bezier(.445, .05, .55, .95);--ease-in-out-cubic:cubic-bezier(.645, .045, .355, 1);--font-circular:var(--font-google-sans);--font-madefor-text:var(--font-google-sans);--font-madefor-display:var(--font-google-sans);--font-montserrat:var(--font-google-sans);--font-body:var(--font-circular), "Helvetica Neue", Arial, sans-serif;--font-display:var(--font-madefor-display), var(--font-body);--font-headline:var(--font-madefor-text), var(--font-body);--card-corner:clamp(16px, calc(3.3 * var(--u)), 48px);--spectrum:linear-gradient(90deg, #ffb31f 0%, #ff6a1f 18%, #f0145a 38%, #c3129f 56%, #7a2cff 76%, #18ccff 100%);--ease-out-quint:cubic-bezier(.22, 1, .36, 1)}@media (max-width:1000px){:root{--header-h:87px}}@media (max-width:750px){:root{--header-h:75px}}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}body{min-height:100vh;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background:#fff;margin:0;font-weight:400;line-height:normal;overflow-x:clip}h1,h2,h3,h4,h5,h6,p,figure,blockquote{margin:0;font-weight:400}html{scroll-padding-top:calc(var(--header-h) + 16px);scrollbar-gutter:stable}h1,h2,h3,h4,h5,h6{text-wrap:balance}p,li,blockquote{text-wrap:pretty}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}img,svg{display:block}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--pink);outline-offset:3px}::selection{background:#e40d682e}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;color:var(--ink);background:#fff;border-radius:50px;padding:10px 18px;transition:transform .2s;position:absolute;top:12px;left:12px;transform:translateY(calc(-100% - 60px));box-shadow:0 6px 24px #00000026}.skip-link:focus{transform:none}@keyframes reveal-fade{0%{opacity:0}to{opacity:1}}@keyframes reveal-float{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:none}}@keyframes reveal-slide{0%{opacity:0;clip-path:inset(0 100% 0 0 round 30px)}to{opacity:1;clip-path:inset(0 round 30px)}}@media (prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0}.js [data-reveal][data-revealed]{animation-name:reveal-fade;animation-duration:var(--reveal-duration,1.8s);animation-delay:var(--reveal-delay,.5s);animation-timing-function:var(--ease-in-out-sine);animation-fill-mode:both}.js [data-reveal=float][data-revealed]{animation-name:reveal-float}.js [data-reveal=slide][data-revealed]{animation-name:reveal-slide;animation-timing-function:var(--ease-in-out-cubic)}}main:focus{outline:none}@media (min-width:1001px) and (min-height:760px){main{z-index:1;margin-top:calc(-1 * var(--header-h));padding-top:var(--header-h);border-radius:0 0 var(--card-corner) var(--card-corner);background:#fff;position:relative;box-shadow:0 48px 80px -44px #080e288c}main>.page-shell{clip-path:inset(calc(-1 * var(--header-h)) 0 0 0 round 0 0 var(--card-corner) var(--card-corner))}}::view-transition{pointer-events:none}html:active-view-transition body>header{view-transition-name:site-header}::view-transition-group(site-header){z-index:100;animation:none}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}::view-transition-old(.page){animation:.24s cubic-bezier(.4,0,1,1) both page-out}::view-transition-new(.page){animation:page-in .6s var(--ease-out-quint) .12s both}@keyframes page-out{to{opacity:0;filter:blur(8px);translate:0 -12px}}@keyframes page-in{0%{opacity:0;filter:blur(10px);translate:0 20px}}@media (prefers-reduced-motion:reduce){::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}}@property --beam-pos{syntax:"<percentage>";inherits:false;initial-value:0%}@property --spectrum-pos{syntax:"<percentage>";inherits:false;initial-value:0%}.nowrap{white-space:nowrap}.beam-text{white-space:nowrap;background-image:linear-gradient(105deg, transparent 40%, #ffffffeb 50%, transparent 60%), var(--beam-fill,var(--spectrum));background-size:260% 100%,240% 100%;background-position:var(--beam-pos) 0, var(--spectrum-pos) 0;color:#0000;-webkit-text-fill-color:transparent;background-repeat:no-repeat,repeat-x;-webkit-background-clip:text;background-clip:text}.beam-text--warm{--beam-fill:linear-gradient(90deg, #ffb31f 0%, #ff6a1f 25%, #f0145a 55%, #b0034a 78%, #820c64 100%)}@media (prefers-reduced-motion:no-preference){.beam-text{animation:6s cubic-bezier(.5,0,.2,1) infinite beam-sweep,10s ease-in-out infinite alternate spectrum-drift}}@keyframes beam-sweep{0%{--beam-pos:0%}45%,to{--beam-pos:100%}}@keyframes spectrum-drift{0%{--spectrum-pos:0%}to{--spectrum-pos:100%}}.eyebrow{font-family:var(--font-circular), sans-serif;letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:10px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.eyebrow:before{content:"";background:conic-gradient(#ffb31f,#f0145a,#7a2cff,#18ccff,#ffb31f);border-radius:50%;width:8px;height:8px;box-shadow:0 0 12px #f0145a8c}.js [data-reveal=words]{opacity:1}@media (prefers-reduced-motion:no-preference){.js [data-reveal=words] .word{opacity:0;filter:blur(10px);display:inline-block;transform:translateY(.5em)}.js [data-reveal=words][data-revealed]{animation:none}.js [data-reveal=words][data-revealed] .word{animation:word-in .95s var(--ease-out-quint) both;animation-delay:calc(var(--delay,0s) + var(--i) * var(--stagger,32ms))}}@keyframes word-in{to{opacity:1;filter:blur();transform:none}}
