*,*::before,*::after{box-sizing: border-box}html{overflow-x: clip;-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-padding-top: calc(var(--nav-h) + 24px)}html.lenis,html.lenis body{height: auto}.lenis.lenis-smooth{scroll-behavior: auto !important}.lenis.lenis-stopped{overflow: hidden}body{margin: 0;min-height: 100vh;background: var(--bg);color: var(--ink);font-family: var(--font);font-size: var(--fs-body);line-height: 1.6;font-weight: 400;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-rendering: optimizeLegibility;overflow-x: clip;transition: background-color .5s var(--ease-out),color .5s var(--ease-out)}img,svg,video,canvas{display: block;max-width: 100%}img{height: auto}a{color: inherit;text-decoration: none}button{font: inherit;color: inherit;background: none;border: 0;padding: 0;cursor: pointer}input,select,textarea{font: inherit;color: inherit}:where(ul[role="list"],ol[role="list"]){list-style: none;margin: 0;padding: 0}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin: 0}h1,h2,h3,h4{font-weight: 600;line-height: 1.04;letter-spacing: -0.035em;text-wrap: balance}p{text-wrap: pretty}::selection{background: color-mix(in srgb,var(--radiance) 40%,transparent);color: var(--ink)}.sprite{position: absolute;width: 0;height: 0;overflow: hidden}@view-transition{navigation: auto}::view-transition-old(root),::view-transition-new(root){animation-duration: .32s;animation-timing-function: var(--ease-out)}::view-transition-old(root){animation-name: pr-vt-out}::view-transition-new(root){animation-name: pr-vt-in}@keyframes pr-vt-out{to{opacity: 0;filter: blur(6px)}}@keyframes pr-vt-in{from{opacity: 0;filter: blur(6px)}}:focus{outline: none}:focus-visible{outline: 2px solid transparent;box-shadow: 0 0 0 2px var(--bg),0 0 0 4px var(--radiance),0 0 18px 2px color-mix(in srgb,var(--supernova) 55%,transparent);border-radius: 10px}.skip-link{position: fixed;left: 16px;top: 12px;z-index: 1000;padding: 10px 16px;border-radius: var(--r-pill);background: var(--btn-primary-bg);color: var(--btn-primary-ink);font-weight: 600;transform: translateY(-160%);transition: transform .2s var(--ease-out)}.skip-link:focus-visible{transform: none}#main:focus{outline: none}.sr-only{position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}.h-display{font-size: var(--fs-hero);line-height: .96;letter-spacing: -0.045em;font-weight: 600}.h-display--md{font-size: var(--fs-display-md);line-height: 1;letter-spacing: -0.042em}.h2,main h2{font-size: var(--fs-h2);line-height: 1.02;letter-spacing: -0.04em}.h3,main h3{font-size: var(--fs-h3);line-height: 1.15;letter-spacing: -0.025em}.h4{font-size: var(--fs-h4);line-height: 1.3;letter-spacing: -0.015em;font-weight: 600}.lede{font-size: var(--fs-lede);line-height: 1.55;color: var(--ink-2);max-width: 62ch}.muted{color: var(--ink-2)}.subtle{color: var(--ink-3)}.mono{font-family: var(--mono);font-feature-settings: "zero" 0;letter-spacing: -0.01em}.small{font-size: var(--fs-sm)}.grad-text{background: var(--spectrum);-webkit-background-clip: text;background-clip: text;color: transparent;-webkit-text-fill-color: transparent}.eyebrow{display: inline-flex;align-items: center;gap: 10px;font-family: var(--mono);font-size: 12px;font-weight: 500;line-height: 1.2;text-transform: uppercase;letter-spacing: .12em;color: var(--c-ink,var(--ink-2))}.eyebrow::before{content: "";width: 6px;height: 6px;border-radius: 50%;background: var(--c,var(--ink-3));box-shadow: 0 0 10px 1px var(--c,transparent)}.eyebrow--static::before{display: none}.prose p + p{margin-top: 1em}.prose{color: var(--ink-2);max-width: 65ch}.prose strong{color: var(--ink);font-weight: 600}.link-arrow{display: inline-flex;align-items: center;gap: 8px;font-weight: 500;color: var(--ink);background: linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat;transition: background-size .35s var(--ease-out),gap .3s var(--ease-out)}.link-arrow:hover{background-size: 100% 1px;gap: 12px}.placeholder{background: color-mix(in srgb,var(--ray) 22%,transparent);color: var(--ink);padding: 0 .3em;border-radius: 4px;font-family: var(--mono);font-size: .9em}.container{width: 100%;max-width: calc(var(--max) + var(--gutter) * 2);margin-inline: auto;padding-inline: var(--gutter)}.container--wide{max-width: calc(var(--max-wide) + var(--gutter) * 2)}.container--narrow{max-width: calc(860px + var(--gutter) * 2)}.section{position: relative;padding-block: var(--section)}.section--tight{padding-block: calc(var(--section) * .6)}.section--alt{background: linear-gradient(180deg,transparent,color-mix(in srgb,var(--bg-2) 70%,transparent) 15%,color-mix(in srgb,var(--bg-2) 70%,transparent) 85%,transparent)}.section__head{display: grid;gap: 22px;margin-bottom: clamp(48px,6vw,88px)}.section__head>*{max-width: 880px}.section__head:not(.container){max-width: 880px}.section__head--center{margin-inline: auto;text-align: center;justify-items: center}.section__head--center .lede{margin-inline: auto}.stack{display: grid;gap: var(--gap,20px)}.grid{display: grid;gap: clamp(16px,2vw,24px)}.grid-2{grid-template-columns: repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns: repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns: repeat(4,minmax(0,1fr))}@media (max-width: 1024px){.grid-4{grid-template-columns: repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns: repeat(2,minmax(0,1fr))}}@media (max-width: 680px){.grid-2,.grid-3,.grid-4{grid-template-columns: 1fr}}.split{display: grid;grid-template-columns: minmax(0,5fr) minmax(0,7fr);gap: clamp(32px,6vw,96px);align-items: center}.split--rev>:first-child{order: 2}.split--even{grid-template-columns: 1fr 1fr}.split__text{display: grid;gap: 22px;align-content: start}@media (max-width: 900px){.split,.split--even{grid-template-columns: 1fr}.split--rev>:first-child{order: 0}}.ambient{position: fixed;inset: 0;z-index: -1;pointer-events: none;overflow: hidden}.orb{position: absolute;width: 60vmax;height: 60vmax;border-radius: 50%;filter: blur(80px);opacity: var(--orb-opacity);background: radial-gradient(circle at center,var(--oc) 0%,transparent 62%);will-change: transform;transform: translate3d(var(--ox,0),var(--oy,0),0) scale(var(--os,1));transition: opacity 1.2s var(--ease-out)}.orb--1{--oc: var(--supernova);left: -22vmax;top: -18vmax;animation: orb-a 90s linear infinite}.orb--2{--oc: var(--aurora);right: -26vmax;top: 18vh;animation: orb-b 110s linear infinite}.orb--3{--oc: var(--spark);left: 18vw;bottom: -34vmax;animation: orb-c 75s linear infinite;opacity: calc(var(--orb-opacity) * .8)}.orb--4{--oc: var(--radiance);right: 8vw;top: -30vmax;animation: orb-a 120s linear infinite reverse;opacity: calc(var(--orb-opacity) * .7)}@keyframes orb-a{0%{translate: 0 0}33%{translate: 8vmax 6vmax}66%{translate: -4vmax 10vmax}100%{translate: 0 0}}@keyframes orb-b{0%{translate: 0 0}50%{translate: -10vmax -6vmax}100%{translate: 0 0}}@keyframes orb-c{0%{translate: 0 0}40%{translate: 12vmax -4vmax}70%{translate: 4vmax -10vmax}100%{translate: 0 0}}.ambient{filter: hue-rotate(var(--orb-hue,0deg));transition: filter 2.4s var(--ease-out)}.grain{position: absolute;inset: -50%;opacity: var(--grain-opacity);mix-blend-mode: overlay;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}[data-theme="light"] .grain{mix-blend-mode: multiply}.js-pending main h1,.js-pending main h2,.js-pending main .lede,.js-pending [data-reveal],.js-pending [data-stagger]>*,.js-pending .hero .btn-row,.js-pending .hero__pill,.js-pending .hero__signin,.js-pending .hero__frame,.js-pending .page-hero .btn-row,.js-pending .page-hero__apps,.js-pending .page-hero__shot{opacity: 0}.grad-text .sw,.grad-text .w{background: var(--spectrum);background-size: 300% 100%;-webkit-background-clip: text;background-clip: text;color: transparent;-webkit-text-fill-color: transparent}.grad-text .sw:nth-child(2n){background-position: 50% 0}.grad-text .sw:nth-child(3n){background-position: 100% 0}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration: .001ms !important;animation-iteration-count: 1 !important;transition-duration: .001ms !important;scroll-behavior: auto !important}.orb{animation: none !important}}.rm .orb{animation: none}.section--flush{padding-top: 0}.split--even{align-items:stretch}