@font-face{font-family:"The Future";src:url(fonts/TheFuture-Regular.5231619c75.woff2) format("woff2");font-weight:400;font-display:block}
@font-face{font-family:"The Future";src:url(fonts/TheFuture-Medium.6543876ff4.woff2) format("woff2");font-weight:500;font-display:block}

:root{
  --navy:#140945;--turq:#10B5AE;--red:#D02C24;--deep:#0B6F74;--peri:#5C63D8;--mist:#EAF6F5;--slate:#6A6E88;--body:#4A4C5E;
  --line:#E4E3EC;--paper:#FFFFFF;--soft:#F6F6F9;
  --cyan:#94DEE6;--sky:#9AC4FA;--lilac:#C1B9FA;--mint:#ACE5C6;--lime:#EBF598;--plilac:#D9CCFB;--butter:#FAE179;
  --sans:"The Future","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:var(--sans); /* one typeface everywhere; the sphere cards keep Geist Mono in field.js */
  --gut:clamp(20px,4.4vw,72px);
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--navy);font:400 18px/1.55 var(--sans);letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
a{color:inherit}
img,svg{max-width:100%}
h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:-.035em;line-height:1;text-wrap:balance}
p{margin:0}
.eyebrow{font:500 12px/1.2 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--slate)}
html,body{overflow-x:clip}
.wrap{max-width:1440px;margin:0 auto;padding-inline:var(--gut)}
:focus-visible{outline:2px solid var(--turq);outline-offset:3px;border-radius:4px}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:22px var(--gut);pointer-events:none}
.nav>*{pointer-events:auto}
/* the links sit in the middle of the bar, the logo on the left (on phones the burger takes the right); equal side columns keep them exactly centred */
.nav .logo{grid-column:1;justify-self:start}.nav>ul{grid-column:2}.nav .cta,.nav .burger{grid-column:3;justify-self:end}
.nav{transition:background .35s,box-shadow .35s,padding .35s,backdrop-filter .35s}
.nav.scrolled{background:rgba(255,255,255,.72);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 1px 0 rgba(20,9,69,.07);padding-block:14px;pointer-events:auto}
.nav .logo{display:block;width:124px;color:var(--navy)}
.nav .logo svg{display:block;width:100%;height:auto}
.nav>ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0;font-size:14px}
.nav>ul>li>a,.nav .dd>button{text-decoration:none;color:var(--body)}
.nav>ul>li>a:hover,.nav .dd>button:hover,.nav .dd.open>button{color:var(--navy)}
.nav>ul>li>a.on,.nav .dd.on>button{color:var(--navy);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
/* dropdowns (Explore, Company): a button opens a small white card of links */
.nav .dd{position:relative}
.nav .dd>button{display:inline-flex;align-items:center;gap:7px;font:inherit;background:none;border:0;padding:0;cursor:pointer}
.nav .dd>button:focus{outline:none}.nav .dd>button:focus-visible{outline:1.5px solid rgba(20,9,69,.3);outline-offset:4px;border-radius:6px}
.nav .dd>button::after{content:"";width:5px;height:5px;margin-top:-3px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.nav .dd.open>button::after{margin-top:3px;transform:rotate(225deg)}
.dd-menu{display:none;position:absolute;top:100%;left:-16px;min-width:176px;margin:12px 0 0;padding:8px;list-style:none;background:#fff;border-radius:14px;box-shadow:0 0 0 1px var(--line),0 18px 48px -16px rgba(20,9,69,.28);font-size:15px}
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.dd.open>.dd-menu{display:block;animation:ddin .16s ease-out}
@keyframes ddin{from{opacity:0;transform:translateY(-4px)}}
.dd-menu a{display:block;padding:10px 14px;border-radius:9px;color:var(--navy);text-decoration:none}
.dd-menu a:hover,.dd-menu a:focus-visible{background:var(--soft);outline:none}
.dd-menu a[aria-current="page"]{font-weight:500}
@media (prefers-reduced-motion:reduce){.dd.open>.dd-menu{animation:none}}
.nav .cta{padding:6px 11px;border-radius:7px;background:rgba(255,255,255,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--navy);text-decoration:none;font-size:13px;box-shadow:inset 0 0 0 1px rgba(20,9,69,.16);transition:box-shadow .2s,background .2s}.nav .cta:hover{background:#fff;box-shadow:inset 0 0 0 1px rgba(20,9,69,.35)}
/* touch: a larger invisible tap area (about 44px tall) around the small links; it is drawn outside the link, so nothing moves */
.nav>ul>li>a,.nav .logo,.nav .dd>button,.cta-row a,.sfoot-l nav a,.sfoot-l .l-logo,.lg{position:relative}
.nav>ul>li>a::after,.nav .logo::after,.cta-row a::after,.sfoot-l nav a::after,.sfoot-l .l-logo::after,.lg::after,.nav .dd>button::before{content:"";position:absolute;inset:-12px -4px}
.sfoot-l nav a::after{inset:-12px -8px}.sfoot-l .l-logo::after{inset:-14px -4px}
/* mobile menu: a burger that opens a full-screen, light menu */
.nav .burger:focus{outline:none}.nav .burger:focus-visible{outline:1.5px solid rgba(20,9,69,.3);outline-offset:2px;border-radius:8px}
.nav .burger{display:none;width:40px;height:40px;margin-right:-8px;border:0;background:none;cursor:pointer;position:relative;z-index:61}
.nav .burger i{position:absolute;left:10px;right:10px;height:1.5px;background:var(--navy);transition:transform .35s cubic-bezier(.2,.75,.2,1),top .35s}
.nav .burger i:first-child{top:15px}.nav .burger i:last-child{top:23px}
.menu-open .nav .burger i:first-child{top:19px;transform:rotate(45deg)}.menu-open .nav .burger i:last-child{top:19px;transform:rotate(-45deg)}
.mmenu{position:fixed;inset:0;z-index:49;background:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:110px var(--gut) 34px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.menu-open .mmenu{opacity:1;visibility:visible}
.mmenu nav{display:flex;flex-direction:column;gap:22px}
.mmenu nav a{font-size:40px;letter-spacing:-.03em;line-height:1.2;color:var(--navy);text-decoration:none;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s}
.menu-open .mmenu nav a{opacity:1;transform:none}.menu-open .mmenu nav a:nth-child(2){transition-delay:.05s}.menu-open .mmenu nav a:nth-child(3){transition-delay:.1s}
.mmenu nav a.on{color:var(--turq)}
.mmenu nav .mg{margin:8px 0 -10px;font:500 12px/1.2 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#8C8AA0;opacity:0;transition:opacity .4s}.menu-open .mmenu nav .mg{opacity:1}
.mmenu .mfoot{display:flex;justify-content:space-between;font-size:13px;color:#9A9AAE}
.menu-open{overflow:hidden}
@media (max-width:760px){.nav>ul,.nav .cta{display:none}.nav .burger{display:block}}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* smooth page-to-page: cross-fade instead of a hard swap, and a short fade-in where view transitions are unsupported */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.28s}
.nav .logo{min-height:24px}

/* book a demo: a drawer that slides in from the right */
.bd{position:fixed;inset:0;z-index:200}.bd[hidden],.bd [hidden]{display:none!important}
.bd-scrim{position:absolute;inset:0;background:rgba(255,255,255,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .35s}
.bd-card{position:absolute;top:0;right:0;bottom:0;width:min(480px,100%);overflow:auto;background:#fff;box-shadow:-1px 0 0 rgba(20,9,69,.08);padding:clamp(28px,3vw,44px);box-sizing:border-box;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .55s cubic-bezier(.2,.75,.2,1)}
.bd.on .bd-scrim{opacity:1}.bd.on .bd-card{transform:none}
.bd-x{position:absolute;right:22px;top:20px;width:32px;height:32px;border:0;background:none;color:var(--navy);font:24px/1 var(--sans);cursor:pointer;opacity:.6;transition:opacity .2s}.bd-x:hover{opacity:1}
.bd-strip{display:flex;gap:6px;margin:4px 0 30px}.bd-strip i{width:18px;height:23px;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(20,9,69,.14);opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}
.bd.on .bd-strip i{opacity:1;transform:none}
.bd-k{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#8C8AA0;margin:0}
.bd h3{font-size:clamp(28px,2.4vw,34px);font-weight:400;letter-spacing:-.03em;line-height:1.1;margin:10px 0 0;color:var(--navy)}
.bd-d{font-size:15.5px;color:#8C8AA0;margin:12px 0 28px;line-height:1.5}
.bd-form{display:flex;flex-direction:column;flex:1}
.bd-form label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--slate);margin-bottom:16px;min-width:0}
.bd-row{display:contents}
.bd-form label small{margin-left:4px;font-size:12.5px;color:#9A9AAE}
.bd input,.bd select,.bd textarea{font:16px var(--sans);color:var(--navy);background:#F7F7F9;border:1px solid transparent;border-radius:10px;padding:12px 14px;outline:none;transition:border-color .2s,background .2s;width:100%;box-sizing:border-box}
.bd textarea{resize:vertical}
.bd input:focus,.bd select:focus,.bd textarea:focus{background:#fff;border-color:rgba(20,9,69,.3)}
.bd .bad{border-color:#D02C24;background:#FDF3F2}
.bd-go{margin-top:auto;width:100%;border:0;border-radius:12px;background:var(--navy);color:#fff;font:500 16px var(--sans);padding:15px 18px;cursor:pointer;transition:opacity .2s}.bd-go:hover{opacity:.9}
.bd-form .bd-go{margin-top:12px}
.bd-go:disabled{opacity:.6;cursor:default}
.bd-err{font-size:13.5px;color:var(--red);margin:0 0 4px;line-height:1.5}
.bd-note{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:#9A9AAE;text-align:center}.bd-note a{color:inherit;text-underline-offset:2px}.bd-note a:hover{color:var(--navy)}
.bd-done{display:flex;flex-direction:column;flex:1}.bd-done .bd-go{margin-top:auto}
/* the row under a headline: "Request access" and "How it works" (homepage and Platform page) */
.cta-row{display:flex;align-items:center;gap:22px;margin-top:22px}
.cta-row a{color:var(--navy);text-decoration:none;font-size:16.5px;transition:color .2s}
.cta-row a.more{color:#6A6E88}.cta-row a.more:hover{color:var(--navy)}
.cta-row a .ar{display:inline-block;transition:transform .25s cubic-bezier(.2,.75,.2,1)}
.cta-row a:hover{color:var(--turq)}.cta-row a:hover .ar{transform:translateX(5px)}

/* light: a quiet one-line footer */
.sfoot-l{border-top:1px solid var(--line);background:#fff}
.sfoot-l .wrap{display:flex;align-items:center;gap:32px;padding-block:28px}
.sfoot-l .l-logo{width:112px;color:var(--navy);display:block}.sfoot-l .l-logo svg{display:block;width:100%;height:auto}
.sfoot-l nav{display:flex;gap:24px;flex:1}.sfoot-l nav a{color:var(--body);text-decoration:none;font-size:14px}.sfoot-l nav a:hover{color:var(--navy)}
.sfoot-l span,.legal{font-size:13px;color:#9A9AAE}.lg{color:#9A9AAE;text-decoration:none;margin-left:18px}.lg:hover{color:var(--navy)}
@media (max-width:760px){.sfoot-l .wrap{flex-wrap:wrap;gap:18px}.sfoot-l nav{flex-basis:100%;flex-wrap:wrap}}

/* page header shared by Lab and Team: same size, same top, same grid */
.phead{padding-top:clamp(150px,17vh,190px)}
.phead h1{font-size:clamp(38px,4vw,60px);font-weight:400;letter-spacing:-.035em;line-height:1.05;max-width:16em;margin:0}
.phead .sub{font-size:18px;line-height:1.5;color:#8C8AA0;margin-top:16px;max-width:34em;text-wrap:balance}

.bd-card:focus{outline:none}
