:where(:root.dark) .emdash-image--light,:where(:root.light) .emdash-image--dark{display:none}@media (prefers-color-scheme:dark){:where(:root:not(.light)) .emdash-image--light{display:none}}@media (prefers-color-scheme:light){:where(:root:not(.dark)) .emdash-image--dark{display:none}}.has-text-align-center[data-astro-cid-44ocxh3s]{text-align:center}.has-text-align-right[data-astro-cid-44ocxh3s]{text-align:right}.has-text-align-justify[data-astro-cid-44ocxh3s]{text-align:justify}.emdash-image[data-astro-cid-nzlefzml]{margin:1.5rem 0}.emdash-image[data-astro-cid-nzlefzml] img[data-astro-cid-nzlefzml]{max-width:100%;height:auto}.emdash-image[data-astro-cid-nzlefzml] figcaption[data-astro-cid-nzlefzml]{color:var(--emdash-caption-color,var(--color-muted,#666));text-align:center;margin-top:.5rem;font-size:.875rem}.emdash-image--align-left[data-astro-cid-nzlefzml],.emdash-image--align-right[data-astro-cid-nzlefzml]{width:fit-content;max-width:50%}.emdash-image--align-left[data-astro-cid-nzlefzml]{float:left;margin:0 1.5rem 1rem 0}.emdash-image--align-right[data-astro-cid-nzlefzml]{float:right;margin:0 0 1rem 1.5rem}.emdash-image--align-center[data-astro-cid-nzlefzml]{width:fit-content;margin-inline:auto}.emdash-image--align-wide[data-astro-cid-nzlefzml],.emdash-image--align-full[data-astro-cid-nzlefzml]{width:100%}@media (width<=640px){.emdash-image--align-left[data-astro-cid-nzlefzml],.emdash-image--align-right[data-astro-cid-nzlefzml]{float:none;width:100%;max-width:100%;margin-inline:0}}.emdash-code[data-astro-cid-dgremz56]{margin:1.5rem 0}.emdash-code-filename[data-astro-cid-dgremz56]{color:#ccc;background:#2d2d2d;border-radius:.5rem .5rem 0 0;padding:.5rem 1rem;font-family:monospace;font-size:.75rem}.emdash-code[data-astro-cid-dgremz56] pre[data-astro-cid-dgremz56]{background:#1e1e1e;border-radius:.5rem;margin:0;padding:1rem;overflow-x:auto}.emdash-code-filename[data-astro-cid-dgremz56]+pre[data-astro-cid-dgremz56]{border-radius:0 0 .5rem .5rem}.emdash-code[data-astro-cid-dgremz56] code[data-astro-cid-dgremz56]{color:#e0e0e0;font-family:Fira Code,Consolas,monospace;font-size:.875rem}.emdash-embed[data-astro-cid-n4v2ghzc]{margin:1.5rem 0}.emdash-embed-video[data-astro-cid-n4v2ghzc]{height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.emdash-embed-video[data-astro-cid-n4v2ghzc] iframe[data-astro-cid-n4v2ghzc],.emdash-embed-video[data-astro-cid-n4v2ghzc] video[data-astro-cid-n4v2ghzc]{border:0;width:100%;height:100%;position:absolute;top:0;left:0}.emdash-embed-audio[data-astro-cid-n4v2ghzc],.emdash-embed-audio[data-astro-cid-n4v2ghzc] audio[data-astro-cid-n4v2ghzc]{width:100%}.emdash-embed[data-astro-cid-n4v2ghzc] figcaption[data-astro-cid-n4v2ghzc]{color:var(--emdash-caption-color,var(--color-muted,#666));text-align:center;margin-top:.5rem;font-size:.875rem}.emdash-gallery[data-astro-cid-d6nmylgu]{grid-template-columns:repeat(var(--columns,3), 1fr);gap:1rem;margin:1.5rem 0;display:grid}.emdash-gallery-item[data-astro-cid-d6nmylgu]{margin:0}.emdash-gallery-item[data-astro-cid-d6nmylgu] img[data-astro-cid-d6nmylgu]{object-fit:cover;aspect-ratio:1;width:100%;height:auto}.emdash-gallery-item[data-astro-cid-d6nmylgu] figcaption[data-astro-cid-d6nmylgu]{color:var(--emdash-caption-color,var(--color-muted,#666));text-align:center;margin-top:.25rem;font-size:.75rem}@media (width<=640px){.emdash-gallery[data-astro-cid-d6nmylgu]{grid-template-columns:repeat(2,1fr)}}.emdash-columns[data-astro-cid-sjaxkm7w]{gap:2rem;margin:1.5rem 0;display:flex}.emdash-column[data-astro-cid-sjaxkm7w]{flex:1;min-width:0}@media (width<=768px){.emdash-columns[data-astro-cid-sjaxkm7w]{flex-direction:column;gap:1rem}}.emdash-break[data-astro-cid-gvovdxls]{margin:2rem 0}.emdash-break-line[data-astro-cid-gvovdxls]{border:none;border-top:1px solid var(--emdash-break-color,var(--color-border,#e0e0e0))}.emdash-break-dots[data-astro-cid-gvovdxls]{text-align:center;color:var(--emdash-break-dots-color,var(--color-muted,#999));letter-spacing:.5em}.emdash-break-space[data-astro-cid-gvovdxls]{height:2rem}iframe[data-emdash-html-block]{border:0;width:100%;margin:1.5rem 0;display:block}.emdash-html-block[data-astro-cid-7hlqo6bn]{margin:1.5rem 0}.emdash-iframe[data-astro-cid-fhxykd76]{aspect-ratio:16/9;width:100%;margin:1.5rem 0}.emdash-iframe[data-astro-cid-fhxykd76] iframe{border:0;width:100%;height:100%;display:block}.emdash-video[data-astro-cid-ymu5gvpn]{margin:1.5rem 0}.emdash-video[data-astro-cid-ymu5gvpn] video[data-astro-cid-ymu5gvpn]{width:100%;height:auto;max-height:70vh;display:block}.emdash-video[data-astro-cid-ymu5gvpn] figcaption[data-astro-cid-ymu5gvpn]{color:var(--emdash-caption-color,var(--color-muted,#666));text-align:center;margin-top:.5rem;font-size:.875rem}.emdash-table-wrapper[data-astro-cid-7uypp5bz]{overscroll-behavior-inline:contain;max-inline-size:100%;margin-block:1.5rem;overflow-x:auto}.emdash-table[data-astro-cid-7uypp5bz]{border-collapse:collapse;inline-size:100%;font-size:.9rem}.emdash-table[data-astro-cid-7uypp5bz] th[data-astro-cid-7uypp5bz],.emdash-table[data-astro-cid-7uypp5bz] td[data-astro-cid-7uypp5bz]{border:1px solid var(--color-border,#ddd);text-align:start;vertical-align:top;padding:.75rem;position:relative}.emdash-table[data-astro-cid-7uypp5bz] th[data-astro-cid-7uypp5bz] p,.emdash-table[data-astro-cid-7uypp5bz] td[data-astro-cid-7uypp5bz] p{margin:0}.emdash-table[data-astro-cid-7uypp5bz] th[data-astro-cid-7uypp5bz]{background:var(--color-surface,#f5f5f5);font-weight:600}.emdash-table[data-astro-cid-7uypp5bz] tbody[data-astro-cid-7uypp5bz] tr[data-astro-cid-7uypp5bz]:nth-child(2n){background:var(--color-bg-subtle,#fafafa)}.emdash-table[data-astro-cid-7uypp5bz] tbody[data-astro-cid-7uypp5bz] tr[data-astro-cid-7uypp5bz]:hover{background:var(--color-surface,#f0f0f0)}.emdash-button[data-astro-cid-i644adhy]{cursor:pointer;border-radius:4px;padding:.75em 1.5em;font-weight:500;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;display:inline-block}.emdash-button--default[data-astro-cid-i644adhy],.emdash-button--fill[data-astro-cid-i644adhy]{background-color:var(--emdash-button-bg,#0073aa);color:var(--emdash-button-color,#fff);border:2px solid var(--emdash-button-bg,#0073aa)}.emdash-button--default[data-astro-cid-i644adhy]:hover,.emdash-button--fill[data-astro-cid-i644adhy]:hover{background-color:var(--emdash-button-bg-hover,#005177);border-color:var(--emdash-button-bg-hover,#005177)}.emdash-button--outline[data-astro-cid-i644adhy]{color:var(--emdash-button-bg,#0073aa);border:2px solid var(--emdash-button-bg,#0073aa);background-color:#0000}.emdash-button--outline[data-astro-cid-i644adhy]:hover{background-color:var(--emdash-button-bg,#0073aa);color:var(--emdash-button-color,#fff)}.emdash-buttons[data-astro-cid-pxkpowas]{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0;display:flex}.emdash-buttons--vertical[data-astro-cid-pxkpowas]{flex-direction:column;align-items:flex-start}.emdash-buttons--horizontal[data-astro-cid-pxkpowas]{flex-direction:row;align-items:center}.emdash-cover[data-astro-cid-g6rigryn]{background-color:var(--emdash-cover-fallback-bg,#333);border-radius:4px;align-items:center;margin:1.5rem 0;padding:2rem;display:flex;position:relative;overflow:hidden}.emdash-cover__background[data-astro-cid-g6rigryn]{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.emdash-cover__video[data-astro-cid-g6rigryn]{object-fit:cover}.emdash-cover__overlay[data-astro-cid-g6rigryn]{z-index:1;position:absolute;inset:0}.emdash-cover__content[data-astro-cid-g6rigryn]{z-index:2;width:100%;color:var(--emdash-cover-text-color,#fff);position:relative}.emdash-cover--align-left[data-astro-cid-g6rigryn]{text-align:left;justify-content:flex-start}.emdash-cover--align-center[data-astro-cid-g6rigryn]{text-align:center;justify-content:center}.emdash-cover--align-right[data-astro-cid-g6rigryn]{text-align:right;justify-content:flex-end}.emdash-cover__content[data-astro-cid-g6rigryn] h1,.emdash-cover__content[data-astro-cid-g6rigryn] h2,.emdash-cover__content[data-astro-cid-g6rigryn] h3,.emdash-cover__content[data-astro-cid-g6rigryn] h4,.emdash-cover__content[data-astro-cid-g6rigryn] p{color:inherit}.emdash-file[data-astro-cid-dsnn5jk3]{background-color:var(--emdash-file-bg,#f5f5f5);border:1px solid var(--emdash-file-border,#e0e0e0);border-radius:4px;align-items:center;gap:.75rem;margin:1rem 0;padding:1rem;display:flex}.emdash-file__link[data-astro-cid-dsnn5jk3]{color:var(--emdash-file-color,#333);flex:1;align-items:center;gap:.5rem;text-decoration:none;display:flex}.emdash-file__link[data-astro-cid-dsnn5jk3]:hover{text-decoration:underline}.emdash-file__icon[data-astro-cid-dsnn5jk3]{width:1.5rem;height:1.5rem;color:var(--emdash-file-icon-color,#666);flex-shrink:0}.emdash-file__name[data-astro-cid-dsnn5jk3]{word-break:break-all;font-weight:500}.emdash-file__download[data-astro-cid-dsnn5jk3]{background-color:var(--emdash-button-bg,#0073aa);width:2.5rem;height:2.5rem;color:var(--emdash-button-color,#fff);border-radius:4px;justify-content:center;align-items:center;transition:background-color .2s;display:flex}.emdash-file__download[data-astro-cid-dsnn5jk3]:hover{background-color:var(--emdash-button-bg-hover,#005177)}.emdash-file__download[data-astro-cid-dsnn5jk3] svg[data-astro-cid-dsnn5jk3]{width:1.25rem;height:1.25rem}.emdash-pullquote[data-astro-cid-mtrxdgkr]{border-top:4px solid var(--emdash-pullquote-border,#0073aa);border-bottom:4px solid var(--emdash-pullquote-border,#0073aa);text-align:center;margin:2rem 0;padding:1.5rem 2rem}.emdash-pullquote__text[data-astro-cid-mtrxdgkr]{color:var(--emdash-pullquote-color,#333);margin:0;font-size:1.5rem;font-style:italic;line-height:1.4}.emdash-pullquote__citation[data-astro-cid-mtrxdgkr]{color:var(--emdash-pullquote-citation-color,#666);margin-top:1rem;font-size:.9rem;font-style:normal}:root{--paper:#fafafa;--panel:#fff;--pill:#eceef1;--pill-soft:#f1f2f4;--hairline:#e2e2e2;--line-mid:#d6dadf;--line-strong:#c9ced4;--ink-head:#050505;--ink-body:#2b2d30;--ink-muted:#6b6b6b;--logo-ink:#232323;--blue:#0082ff;--blue-text:#0068cc;--cursor-top:#4685c5;--cursor-bottom:#31c4f3;--selection:#cce6ff;--font-sans:var(--font-flex), "Google Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:var(--font-code), ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--hd:88px;--gutter:80px;--col:1120px;--ease:cubic-bezier(.16, 1, .3, 1);--r-s:8px;--r-m:12px;--r-l:28px;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}@view-transition{navigation:auto}::view-transition-old(root){animation:vt-out .15s var(--ease,ease) both}::view-transition-new(root){animation:vt-in .25s var(--ease,ease) both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0}}.hd{view-transition-name:header}.hl,.ph-field{view-transition-name:field}::view-transition-group(field){animation-duration:.5s;animation-timing-function:var(--ease,ease)}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}.defs{width:0;height:0;position:absolute;overflow:hidden}html{scroll-padding-top:88px}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis.lenis-smooth iframe{pointer-events:none}body{background:var(--paper);color:var(--ink-body);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:10;background:var(--paper);position:fixed;inset:0 0 auto}::selection{background:var(--selection)}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}a{color:var(--blue-text)}.wrap{width:100%;max-width:calc(var(--col) + 2 * var(--gutter));padding-left:max(var(--gutter), env(safe-area-inset-left,0px));padding-right:max(var(--gutter), env(safe-area-inset-right,0px));margin-inline:auto}.skip{left:max(16px, env(safe-area-inset-left,0px));top:calc(12px + env(safe-area-inset-top,0px));z-index:50;border-radius:var(--r-s);background:var(--ink-head);color:var(--paper);font:500 14px/20px var(--font-sans);padding:10px 14px;text-decoration:none;position:absolute;transform:translateY(-300%)}.skip:focus{transform:none}.hd{top:env(safe-area-inset-top,0px);z-index:20;position:sticky}.hd-in{height:var(--hd);align-items:center;display:flex}.hd-cap{border:1px solid #0000;border-radius:999px;align-items:center;gap:44px;height:56px;margin-left:-20px;padding:0 20px;display:flex;position:relative}.hd.is-compact .hd-in{height:76px}.hd.is-compact .nav a,.hd.is-compact .menu-btn{border-radius:999px}.glass{backdrop-filter:url(#lg-lens)saturate(1.7)brightness(1.03);background:#fcfcfcf0;border-color:#11182724;box-shadow:inset 0 1px #ffffffe6,inset 0 -1px #fff9,inset 0 0 0 1px #ffffff59,inset 0 2px 6px -2px #1118270f}.hd-cap{transition:background-color .2s var(--ease), border-color .2s var(--ease)}.glass:before{animation:hl-in .2s var(--ease) both;content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(var(--lg-a,112deg), #fff, #ffffff40 30%, #fff0 50%, #ffffff40 70%, #fffffff2);-webkit-mask-composite:xor;-webkit-mask-composite:xor,source-over;padding:1.5px;position:absolute;inset:-1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.glass:hover{background:#fefefef7}.hd.is-compact{margin-bottom:12px}.logo,.ft-logo,.toc a{position:relative}.logo:before,.ft-logo:before,.toc a:before{content:"";position:absolute;inset:-8px 0}.logo{color:var(--logo-ink);border-radius:2px;display:inline-flex}.logo svg{width:auto;height:28px;display:block}.cur{animation:4.5s step-end infinite caret-gap}.nav{align-items:center;gap:4px;display:flex}.nav a{border-radius:var(--r-s);font:400 15px/20px var(--font-sans);color:var(--ink-body);padding:10px 14px;text-decoration:none}.nav a:hover{color:var(--ink-head);background:var(--pill-soft)}.nav a[aria-current]{color:var(--ink-head);background:var(--pill)}.nav a.go[aria-current]{color:var(--blue-text)}.nav a.go{color:var(--blue-text);font-weight:500}.nav a.go:hover{background:var(--pill-soft)}.menu-btn{min-height:44px;font:500 15px/20px var(--font-sans);color:var(--ink-head);background:var(--pill-soft);border-radius:var(--r-s);cursor:pointer;border:0;align-items:center;margin-left:auto;padding:0 16px;display:none}.menu-btn:hover{background:var(--pill)}.sheet{z-index:60;background:var(--paper);padding-top:env(safe-area-inset-top,0px);flex-direction:column;display:flex;position:fixed;inset:0}.sheet-hd{border-bottom:1px solid var(--hairline);height:64px;padding-left:max(24px, env(safe-area-inset-left,0px));padding-right:max(24px, env(safe-area-inset-right,0px));justify-content:space-between;align-items:center;display:flex}.sheet-hd .menu-btn{margin-left:0;display:inline-flex}.sheet nav{padding-top:24px;padding-left:max(24px, env(safe-area-inset-left,0px));padding-right:max(24px, env(safe-area-inset-right,0px));flex-direction:column;display:flex}.sheet nav a{font:400 28px/36px var(--font-sans);color:var(--ink-head);border-bottom:1px solid var(--hairline);padding-block:14px;text-decoration:none}.sheet nav a[aria-current]{color:var(--blue-text)}.sheet nav a.go{color:var(--blue-text);border-bottom:0}.hero{height:calc(100svh - var(--hd));min-height:560px;max-height:960px;display:flex;overflow-x:clip}.hero .wrap{align-items:flex-end;padding-bottom:clamp(96px,16svh,168px);display:flex;position:relative}.hero-h{z-index:1;font:400 40px/48px var(--font-sans);letter-spacing:-.015em;color:var(--ink-head);text-wrap:balance;max-width:24ch;margin:0;position:relative}.caret{vertical-align:-.1em;background:linear-gradient(var(--cursor-top), var(--cursor-bottom));width:3px;height:.92em;margin-left:.08em;animation:4.5s step-end infinite caret-gap;display:inline-block}@keyframes caret-gap{0%{opacity:1}89%{opacity:0}}.motion-off .caret,.motion-off .cur,.motion-off .start-end .caret{animation:none!important}.hl{right:calc(var(--gutter) - 22vw);aspect-ratio:1600/1100;z-index:-1;pointer-events:none;width:min(1500px,104vw);position:absolute;top:-14%}.hl-c{-webkit-mask-image:linear-gradient(90deg,#0000,#000 22%);mask-image:linear-gradient(90deg,#0000,#000 22%)}.hl-l img{width:100%;height:100%;display:block}.hl-l{position:absolute;inset:0}.hl-a{will-change:transform;animation:hl-in 2.4s var(--ease) .25s both}.hl-c{animation:hl-in 2.4s var(--ease) 0s both}@keyframes hl-in{0%{opacity:0}}.hl-c:after,.ph-field:after,.field:after,.wt-field:after,.hw-art:after,.hub-sq:after{content:"";pointer-events:none;opacity:var(--grain,.18);background:url(/_astro/grain.D_5ermxt.webp) 0 0/128px 128px;position:absolute;inset:0}.hl-c:after,.field:after{-webkit-mask:var(--gm) 0 0 / 100% 100% no-repeat;mask:var(--gm) 0 0 / 100% 100% no-repeat}.ph-field:after{-webkit-mask:var(--gm) 0 0 / 100% 100% no-repeat, linear-gradient(90deg, transparent, #000 30%);-webkit-mask-composite:source-in;mask:var(--gm) 0 0 / 100% 100% no-repeat, linear-gradient(90deg, transparent, #000 30%);mask-composite:intersect}.hw-art:after,.hub-sq:after{opacity:var(--grain-sq,.07)}@media (resolution>=2x){.hl-c:after,.ph-field:after,.field:after,.wt-field:after,.hw-art:after,.hub-sq:after{background-size:64px 64px}}.wt-field:after{width:120%;height:128%;-webkit-mask:var(--gm) center / contain no-repeat;mask:var(--gm) center / contain no-repeat;inset:-14% auto auto -10%}.vh{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ten{position:relative;overflow-x:clip}.tn-pin{position:relative}.tn-anim .tn-pin{height:260vh}.tn-stage{padding-block:96px}.tn-anim .tn-stage{align-content:center;height:100svh;padding-block:0;display:grid;position:sticky;top:0}.tn{margin:0;position:relative}.tn-row{aspect-ratio:1348/85;margin-bottom:30px;position:relative}.tn-p{top:0;left:var(--a);width:var(--w);will-change:transform;height:100%;position:absolute}.tn-p img{width:100%;height:100%;display:block}.tn-p i{font:400 12px/16px var(--font-mono);color:var(--ink-muted);white-space:nowrap;font-style:normal;position:absolute;top:calc(100% + 14px);left:8px}.tn-p.m i{color:var(--blue-text);font-weight:600}.ten+.s3{padding-top:40px}.s2:has(+.ten){padding-bottom:40px}.s2{padding-block:280px 180px}.tablist{flex-wrap:wrap;gap:4px;margin:0 0 0 -14px;display:flex}.tab{border-radius:var(--r-s);cursor:pointer;font:400 15px/20px var(--font-sans);color:var(--ink-muted);background:0 0;border:0;padding:10px 14px}.tab:hover{color:var(--ink-head);background:var(--pill-soft)}.tab[aria-selected=true]{color:var(--ink-head);background:var(--pill)}.s2{overflow:clip}.tablist{z-index:1;position:relative}.stage{height:400px;margin-top:24px;position:relative}.panel{z-index:1;border-radius:var(--r-s);position:absolute;inset:0}.panel:focus-visible{outline-offset:6px}.copy{max-width:46ch;position:absolute;bottom:24px;left:0}.copy p{font:400 18px/28px var(--font-sans);color:var(--ink-body);text-wrap:pretty;margin:0}.copy a{border-radius:var(--r-s);font:500 15px/20px var(--font-sans);color:var(--blue-text);margin:10px 0 0 -12px;padding:8px 12px;text-decoration:none;display:inline-block}.copy a:hover{background:var(--pill-soft)}.field{aspect-ratio:960/840;pointer-events:none;width:min(760px,66vw);position:absolute;top:-120px;right:-140px}.field img{width:100%;height:100%;transition:transform 1.1s var(--ease), opacity 1.1s var(--ease);will-change:transform;position:absolute;inset:0}.field[data-tab="0"] .fa-core{transform:translate(0)scale(1)}.field[data-tab="1"] .fa-core{transform:translate(-12%,8%)scale(.86)}.field[data-tab="2"] .fa-core{transform:translate(9%,-9%)scale(.92)}.field[data-tab="3"] .fa-core{transform:translate(-6%,-13%)scale(1.1)}.field[data-tab="4"] .fa-core{transform:translate(12%,6%)scale(.82)}.field[data-tab="5"] .fa-core{transform:translate(-15%,-3%)scale(.96)}.field[data-tab="6"] .fa-core{transform:translate(5%,11%)scale(1.04)}.field[data-tab="1"] .fa-haze,.field[data-tab="4"] .fa-haze{transform:translate(3%,-2%)}.field[data-tab="2"] .fa-haze,.field[data-tab="5"] .fa-haze{transform:translate(-3%,2%)}.field[data-tab="3"] .fa-haze,.field[data-tab="6"] .fa-haze{transform:translate(2%,3%)}.field.pre{opacity:0}.s3{padding-block:167px 0;overflow-x:clip}.hw{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:stretch;gap:64px;display:grid}.hw-l{flex-direction:column;justify-content:space-between;gap:48px;min-width:0;display:flex}.hw-body{max-width:40ch}.hw-panel .hw-t{font:400 12px/16px var(--font-mono);color:var(--ink-muted);display:block}.hw-panel p{font:400 22px/32px var(--font-sans);letter-spacing:-.005em;color:var(--ink-head);text-wrap:pretty;margin:10px 0 0}.hw .more{margin-top:28px}.hw-art{aspect-ratio:1;border-radius:var(--r-l);will-change:transform;background:linear-gradient(160deg,#f3f8fc 0%,#e7f2fb 55%,#dcedfa 100%);justify-self:end;width:100%;max-width:560px;margin:0;position:relative;overflow:hidden}.hw-art img{object-fit:cover;width:116%;height:116%;transition:transform 1.1s var(--ease), opacity 1.1s var(--ease);position:absolute;inset:-8%}.hw-core{transform-origin:57.5% 55.7%}.hw-art[data-stage="0"] .hw-core{opacity:.3;transform:scale(.4)}.hw-art[data-stage="1"] .hw-core{opacity:.6;transform:scale(.62)}.hw-art[data-stage="2"] .hw-core{opacity:.85;transform:scale(.84)}.hw-art[data-stage="3"] .hw-core{opacity:1;transform:scale(1.08)}.hw-art[data-stage="0"] .hw-haze{opacity:.7;transform:scale(1.12)translate(-3%,-3%)}.hw-art[data-stage="1"] .hw-haze{opacity:.85;transform:scale(1.06)translate(-1%,-1%)}.hw-art[data-stage="2"] .hw-haze{opacity:.95;transform:scale(1.02)}.hw-art[data-stage="3"] .hw-haze{opacity:1;transform:scale(1)}.more{border-radius:var(--r-s);font:500 15px/20px var(--font-sans);color:var(--blue-text);margin:48px 0 0 -12px;padding:8px 12px;text-decoration:none;display:inline-block}.more:hover{background:var(--pill-soft)}.s4{padding-block:372px 271px;position:relative;overflow-x:clip}.s4-h{font:400 40px/48px var(--font-sans);letter-spacing:-.015em;color:var(--ink-head);text-wrap:balance;max-width:24ch;margin:0}.start{border-radius:var(--r-s);font:500 18px/24px var(--font-sans);color:var(--blue-text);margin:32px 0 0 -12px;padding:8px 12px;text-decoration:none;display:inline-block;position:relative}.start:hover{background:var(--pill-soft)}.start-end{vertical-align:-.1em;width:3px;height:.92em;margin-left:.08em;display:inline-block;position:relative}.start-end .caret{margin:0;position:absolute;inset:0}.ft-in{border-top:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:16px 44px;padding-block:32px 56px;display:flex}.ft-logo{color:var(--logo-ink);border-radius:2px;display:inline-flex}.ft-logo:before{inset:-11px 0}.ft-logo svg{width:auto;height:22px;display:block}.ft-nav,.ft-legal{flex-wrap:wrap;align-items:center;gap:4px;margin:0;display:flex}.ft-legal{margin-left:auto}.ft-nav a,.ft-legal a{border-radius:var(--r-s);font:400 15px/20px var(--font-sans);color:var(--ink-body);padding:8px 12px;text-decoration:none}.ft-nav{margin-left:-12px}.ft-nav a:hover,.ft-legal a:hover{color:var(--ink-head);background:var(--pill-soft)}.ft-legal a{color:var(--ink-muted)}.ft-motion{border-radius:var(--r-s);cursor:pointer;font:400 15px/20px var(--font-sans);color:var(--ink-muted);background:0 0;border:0;padding:8px 12px}.ft-motion:hover{color:var(--ink-head);background:var(--pill-soft)}.ft-motion[aria-pressed=true]{color:var(--ink-head);background:var(--pill)}.ft-legal small{font:400 12px/20px var(--font-mono);color:var(--ink-muted);margin-left:12px}@media (width<=900px){.s3{overflow:clip}.more{margin:48px 0 0 -12px}.tn-row{aspect-ratio:auto;width:24px;height:380px;margin-bottom:0}.tn-p{left:0;top:var(--a);width:100%;height:var(--w)}.tn-p i{font-size:13px;top:50%;left:44px;translate:0 -50%}@supports (height:100svh){.tn-anim .tn-pin .tn-row{--tn-h:min(380px, 100svh - 2 * var(--hd));height:var(--tn-h);width:calc(var(--tn-h) * 24 / 380)}}}@media (width<=720px){:root{--hd:64px;--gutter:24px}.nav{display:none}.menu-btn{display:inline-flex}.hd-cap{flex:1;justify-content:space-between;gap:16px;height:50px;margin:0 -12px;padding:0 4px 0 12px}.menu-btn{min-height:40px;margin-left:0}.hd.is-compact .hd-in{height:64px}.hd.is-compact{margin-bottom:0}.hd.is-compact .menu-btn{background:0 0}.logo svg{height:24px}.logo:before{inset:-10px 0}.hero{min-height:520px}.hero .wrap{padding-bottom:clamp(72px,12svh,112px)}.hero-h{max-width:min(300px,100% - 64px);font-size:28px;line-height:34px}.hl{width:190vw;top:-2%;right:-26vw}.tn-anim .tn-pin{height:200vh}.s2{padding-block:176px 112px}.s3{padding-top:111px}.hw{grid-template-columns:1fr;gap:40px}.hw-l{gap:28px}.hw-panel p{font-size:18px;line-height:28px}.hw-art{border-radius:22px;justify-self:start;max-width:480px}.s4{padding-block:224px 166px}.s4-h{font-size:28px;line-height:34px}.start{margin-top:24px;font-size:16px}.stage{height:320px}.field{inset:-40px -120px 150px}.copy{bottom:0;left:0;right:0}.copy p{font-size:16px;line-height:25px}.ft-in{flex-direction:column;align-items:flex-start;gap:20px;padding-block:28px 40px}.ft-legal{margin-left:-12px}.ft-nav{max-width:100%}.ft-legal small{flex-basis:100%;margin:8px 0 0 12px}}.ph{align-items:flex-end;min-height:48svh;padding-block:160px 0;display:flex;position:relative;overflow-x:clip}.ph .wrap{position:relative}.ph-s{min-height:40svh}.ph-h{font:400 40px/48px var(--font-sans);letter-spacing:-.015em;color:var(--ink-head);text-wrap:balance;max-width:24ch;margin:0}.facts{font:400 13px/20px var(--font-mono);color:var(--ink-muted);flex-wrap:wrap;gap:8px 28px;margin:28px 0 0;padding:0;list-style:none;display:flex}.sec{padding-top:240px;overflow-x:clip}.ph+.sec{padding-top:200px}.h2i{font:400 22px/30px var(--font-sans);letter-spacing:-.01em;color:var(--ink-head);text-wrap:balance;max-width:30ch;margin:0 0 40px}.rows{margin:0;padding:0;list-style:none}.rows li{border-top:1px solid var(--hairline);grid-template-columns:minmax(0,2fr) minmax(0,3fr);column-gap:48px;padding:36px 0 40px;display:grid}.rows h3{font:400 18px/28px var(--font-sans);color:var(--ink-head);margin:0}.rows p a{color:var(--blue-text)}.rows h3 a{color:inherit;border-radius:var(--r-s);margin:-4px -10px;padding:4px 10px;text-decoration:none}.rows h3 a:hover{background:var(--pill-soft)}.rows p{font:400 15px/26px var(--font-sans);color:var(--ink-body);text-wrap:pretty;max-width:58ch;margin:0}.rows.q li,.rows.plain li{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.sec .more{margin-top:32px}.ph-field{right:calc(var(--gutter) - 20vw);aspect-ratio:1600/1100;z-index:-1;pointer-events:none;width:min(1320px,96vw);animation:hl-in 2.4s var(--ease) .1s both;position:absolute;top:-190px}.ph-field img{width:100%;height:100%;position:absolute;inset:0}.ph-field img:last-child{transform-origin:68% 39%;opacity:.5}.ph-field[data-v=audit] img:last-child{transform:translate(-4%,6%)scale(.55)}.ph-field[data-v=ai-agents] img:last-child{filter:hue-rotate(-14deg);transform:translate(6%,-4%)scale(.8)}.ph-field[data-v=rag-systems] img:last-child{transform:translate(-6%,4%)scale(1.15)}.ph-field[data-v=genai-development] img:last-child{filter:hue-rotate(24deg);transform:scale(.88)}.ph-field[data-v=software-development] img:last-child{filter:hue-rotate(-26deg);transform:translateY(20%)scale(1)}.ph-field[data-v=web-development] img:last-child{filter:hue-rotate(10deg);transform:translate(-10%,-18%)scale(1.2)}.ph-field[data-v=ui-ux-design] img:last-child{filter:hue-rotate(34deg);transform:translate(-14%,6%)scale(.92)}.ph-field[data-v=process] img:last-child{transform:translate(-6%,10%)scale(1.05)}.ph-field[data-v=empty] img:last-child{opacity:0}.ph-field[data-v=case] img:last-child{transform:scale(1.3)}.ph-field[data-v=post-rag] img:last-child{filter:hue-rotate(-8deg);transform:translate(-4%,2%)scale(.95)}.ph-field[data-v=company] img:last-child,.ph-field[data-v=resources] img:last-child{transform:scale(.9)}.ph-field[data-v=contact] img:last-child{transform:translate(-8%,8%)scale(.75)}.ph-field[data-v=legal] img:last-child{opacity:.3;transform:scale(.8)}.ph-field img:first-child{-webkit-mask-image:linear-gradient(90deg,#0000,#000 30%);mask-image:linear-gradient(90deg,#0000,#000 30%)}.prose{max-width:66ch}.prose p{font:400 18px/30px var(--font-sans);color:var(--ink-body);text-wrap:pretty;margin:0 0 24px}.prose .lede{color:var(--ink-head);margin-bottom:32px;font-size:22px;line-height:32px}.prose h2{font:400 22px/30px var(--font-sans);letter-spacing:-.01em;color:var(--ink-head);margin:48px 0 14px}.prose h2:first-child{margin-top:0}.prose .by{font:400 13px/20px var(--font-mono);color:var(--ink-muted);margin-top:40px}.prose .code{margin:28px 0}.prose pre{border-radius:var(--r-m);font:400 13px/22px var(--font-mono);color:var(--ink-body);tab-size:4;background:#f1f3f5;margin:0;padding:22px 24px;overflow-x:auto}.prose figcaption{font:400 12px/18px var(--font-mono);color:var(--ink-muted);margin-top:10px}.art{padding-top:120px}.grid{grid-template-columns:repeat(var(--cols,2), minmax(0, 1fr));gap:56px 48px;margin:0;padding:0;list-style:none;display:grid}.grid li{align-content:start;gap:10px;display:grid}.grid .n{font:400 12px/16px var(--font-mono);color:var(--ink-muted)}.grid h3{font:400 22px/30px var(--font-sans);letter-spacing:-.01em;color:var(--ink-head);margin:0}.grid p{font:400 15px/24px var(--font-sans);color:var(--ink-body);text-wrap:pretty;max-width:44ch;margin:0}.hub-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:96px;display:grid}.hub-list .h2i{margin-bottom:24px}.hub-list .h2i~.h2i{margin-top:120px}.prows{border-bottom:1px solid var(--hairline);margin:0;padding:0;list-style:none}.prows li{border-top:1px solid var(--hairline)}.prow{border-radius:var(--r-s);color:inherit;margin:0 -16px;padding:36px 16px 40px;text-decoration:none;display:block}.prow .pt{gap:10px;display:grid}.prow b{font:400 20px/28px var(--font-sans);color:var(--blue-text)}.prow .l{font:400 15px/26px var(--font-sans);color:var(--ink-body);text-wrap:pretty;max-width:46ch}.prow:hover,.prow:focus-visible{background:var(--pill-soft)}.prow:hover b,.prow:focus-visible b{text-underline-offset:3px;text-decoration:underline 1px}.prow:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.hub-field{pointer-events:none;align-self:stretch;position:relative}.hub-sq{aspect-ratio:1;border-radius:var(--r-l);will-change:transform;background:linear-gradient(160deg,#f3f8fc 0%,#e7f2fb 55%,#dcedfa 100%);width:100%;max-width:520px;margin:0 0 0 auto;position:sticky;top:120px;overflow:hidden}.hub-sq img{object-fit:cover;width:116%;height:116%;position:absolute;inset:-8%}.hub-sq .hw-core{opacity:.75;transform:scale(.84)}.hub-sq[data-v=resources] .hw-core{opacity:.6;filter:hue-rotate(-8deg);transform:translate(-10%,8%)scale(.7)}.hub-list .rows.links{border-bottom:1px solid var(--hairline)}.hub-list .lrow{grid-template-columns:minmax(0,1fr);row-gap:10px}.hub-list .lrow h3{font-size:20px}.hub-list .lrow p{max-width:46ch}@media (width<=900px){.hub-grid{grid-template-columns:1fr}.hub-field{display:none}}.kv{border-bottom:1px solid var(--hairline);margin:0}.kv div{border-top:1px solid var(--hairline);grid-template-columns:minmax(0,2fr) minmax(0,3fr);column-gap:32px;padding:20px 0 22px;display:grid}.kv dt{font:400 13px/28px var(--font-mono);color:var(--ink-muted)}.kv dd{font:400 18px/28px var(--font-sans);color:var(--ink-head);margin:0}.wt{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:48px;min-height:380px;display:grid;position:relative}.wt-l{z-index:1;flex-direction:column;justify-content:space-between;gap:48px;display:flex;position:relative}.wt-panel p{max-width:40ch;font:400 22px/32px var(--font-sans);letter-spacing:-.005em;color:var(--ink-head);text-wrap:pretty;margin:0}.wt-field{pointer-events:none;position:relative}.wt-field img{object-fit:contain;width:120%;height:128%;transition:transform 1.1s var(--ease);will-change:transform;position:absolute;top:-14%;left:-10%}.wt-field .fa-core{transform-origin:57.5% 55.7%}.wt-field[data-tab="0"] .fa-core{transform:translate(-8%,4%)scale(.7)}.wt-field[data-tab="1"] .fa-core{transform:translate(4%,-6%)scale(.9)}.wt-field[data-tab="2"] .fa-core{transform:translate(10%,6%)scale(1.12)}.wt-field[data-tab="1"] .fa-haze{transform:translate(-3%,2%)}.wt-field[data-tab="2"] .fa-haze{transform:translate(3%,-2%)scale(1.04)}.motion-off .wt-field img{transition:none}@media (width<=900px){.wt{grid-template-columns:1fr;min-height:0}.wt-field{height:260px}.wt-panel p{font-size:19px;line-height:28px}}.cmp{border-collapse:collapse;width:100%;max-width:900px}.cmp th{text-align:left;font:400 12px/16px var(--font-mono);color:var(--ink-muted);padding:0 0 12px}.cmp td{border-top:1px solid var(--hairline);font:400 18px/28px var(--font-sans);color:var(--ink-head);vertical-align:top;width:50%;padding:18px 24px 18px 0}.cmp td:first-child{color:var(--ink-muted)}.cmp tbody tr:last-child td{border-bottom:1px solid var(--hairline)}.figs{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:0;display:grid}.figs div{align-content:start;gap:6px;display:grid}.figs dt{font:400 12px/16px var(--font-mono);color:var(--ink-muted);order:1}.figs dd{font:400 40px/48px var(--font-sans);letter-spacing:-.015em;color:var(--ink-head);font-variant-numeric:tabular-nums;margin:0}.figs dd.f-n{font:400 15px/24px var(--font-sans);letter-spacing:0;color:var(--ink-body);order:2;margin:0}.quote{max-width:46ch;font:400 22px/32px var(--font-sans);color:var(--ink-head);margin:48px 0 0}.toc{margin:8px 0 40px}.toc ul{gap:2px;margin:6px 0 0;padding:0;list-style:none;display:grid}.toc a{font:400 15px/26px var(--font-sans);color:var(--blue-text)}.toc a:before{inset:-10px 0 -16px}.prose a{color:var(--blue-text)}.cs-bar .tn-p,.cs-bar .tn-p picture{transition:transform 1.1s var(--ease), opacity 1.1s var(--ease);transition-delay:calc(var(--i) * 70ms)}.cs-bar:not(.is-in) .tn-p:not(.m){transform:translate3d(calc(var(--i) * 4%), 0, 0)}.cs-bar:not(.is-in) .tn-p:not(.m) picture{opacity:.2}.motion-off .cs-bar .tn-p,.motion-off .cs-bar .tn-p picture{transition:none}@media (width<=900px){.figs{grid-template-columns:1fr;gap:28px}.cs-bar:not(.is-in) .tn-p:not(.m){transform:translate3d(0, calc(var(--i) * 6px), 0)}}.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;max-width:980px;display:grid}.two h3{font:400 13px/20px var(--font-mono);color:var(--ink-muted);margin:0 0 8px}.two ul{border-bottom:1px solid var(--hairline);margin:0;padding:0;list-style:none}.two li{border-top:1px solid var(--hairline);font:400 18px/28px var(--font-sans);color:var(--ink-head);padding:16px 0}.crumb{margin-bottom:20px}.crumb a{font:400 15px/20px var(--font-sans);color:var(--blue-text);border-radius:var(--r-s);margin-left:-10px;padding:6px 10px;text-decoration:none}.crumb a:hover{background:var(--pill-soft)}.lead-p{max-width:46ch;font:400 22px/32px var(--font-sans);color:var(--ink-head);margin:0 0 40px}@media (width<=720px){.two{grid-template-columns:1fr;gap:32px}}.rows.links li{padding:0;display:block}.lrow{border-radius:var(--r-s);color:inherit;grid-template-columns:minmax(0,2fr) minmax(0,3fr);column-gap:48px;margin:0 -16px;padding:36px 16px 40px;text-decoration:none;display:grid}.lrow h3{color:var(--blue-text)}a.lrow:hover{background:var(--pill-soft)}a.lrow:hover h3,a.lrow:focus-visible h3{text-underline-offset:3px;text-decoration:underline 1px}a.lrow:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.lrow.is-soon h3{color:var(--ink-head)}.statement{max-width:34ch;font:400 28px/38px var(--font-sans);letter-spacing:-.01em;color:var(--ink-head);text-wrap:pretty;margin:0}.statement+.statement{color:var(--ink-body);max-width:52ch;margin-top:20px;font-size:18px;line-height:29px}main>.sec:last-child{padding-bottom:200px}.compare{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 48px;max-width:980px;margin:0;display:grid}.compare dt,.compare dd{font:400 18px/28px var(--font-sans);margin:0;padding:18px 0}.compare dt{color:var(--ink-muted);text-decoration:line-through 1px;text-decoration-color:var(--line-strong)}.compare dd{color:var(--ink-head)}.compare .h{font:400 12px/16px var(--font-mono);color:var(--ink-muted);padding-top:0;text-decoration:none}@media (width<=900px){.offer{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.grid{grid-template-columns:1fr;gap:40px}.statement{font-size:22px;line-height:31px}.statement+.statement{font-size:16px;line-height:26px}main>.sec:last-child{padding-bottom:120px}.compare{grid-template-columns:1fr 1fr;gap:0 20px}.lrow{grid-template-columns:1fr;row-gap:6px}.compare dt,.compare dd{padding:12px 0;font-size:15px;line-height:24px}}.ph-go{margin-top:24px}.offer{grid-template-columns:repeat(var(--cols,3), minmax(0, 1fr));gap:32px;margin:0;display:grid}.offer div{align-content:start;gap:6px;display:grid}.offer dt{font:400 12px/16px var(--font-mono);color:var(--ink-muted)}.offer dd{font:400 28px/36px var(--font-sans);letter-spacing:-.01em;color:var(--ink-head);margin:0}.offer-note{font:400 17px/28px var(--font-sans);color:var(--ink-body);max-width:60ch;margin:32px 0 0}.cf{grid-template-columns:1fr;gap:28px;max-width:560px;display:grid}.cf-sum{border-top:2px solid #b3261e;padding:20px 0 0}.cf-sum h3{font:500 18px/26px var(--font-sans);color:var(--ink-head);margin:0 0 8px}.cf-sum ul{margin:0;padding:0;list-style:none}.cf-sum a{font:400 16px/26px var(--font-sans);color:#b3261e}.cf [aria-invalid=true]{border-bottom:2px solid #b3261e}.cf-ok-t{font:400 22px/32px var(--font-sans);color:var(--ink-head);margin:0 0 12px}.cf-f{align-content:start;gap:8px;display:grid}.cf-w,.cf-a,.cf-ok{grid-column:1/-1}.cf label{font:400 15px/20px var(--font-sans);color:var(--ink-head)}.cf label span{color:var(--ink-muted)}.cf input,.cf textarea{box-sizing:border-box;border-radius:var(--r-m) var(--r-m) 0 0;width:100%;font:400 16px/24px var(--font-sans);color:var(--ink-head);background:#eef0f3;border:0;border-bottom:1px solid #8a8f96;padding:14px 16px}.cf textarea{resize:none;min-height:140px}.cf input:focus-visible,.cf textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px;background:#f4f6f8}.cf [aria-invalid=true]{background:#fbedec}.cf-h{font:400 13px/20px var(--font-sans);color:var(--ink-muted);margin:0}.cf-h a{color:var(--blue-text)}.cf-e{font:400 13px/20px var(--font-sans);color:#b3261e;margin:0}.cf-a{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:8px;display:flex}.cf-b{border-radius:var(--r-s);background:var(--blue-text);color:#fff;font:500 17px/22px var(--font-sans);cursor:pointer;border:0;align-items:center;padding:13px 20px;display:inline-flex;position:relative}.cf-b:hover{background:#0059ad}.cf-b .caret{background:#fff}.cf-b:focus-visible{outline:2px solid var(--blue-text);outline-offset:3px}.cf-b .start-end{margin-left:.12em}.cf-ok{font:400 22px/32px var(--font-sans);color:var(--ink-head);margin:0}@media (width>=721px) and (width<=1023px){.facts~.ph-field{-webkit-mask-image:linear-gradient(#000 40%,#0000 70%);mask-image:linear-gradient(#000 40%,#0000 70%)}}@media (width<=720px){.ph-field{width:190vw;top:-80px;right:-30vw}.crumb~.ph-field{-webkit-mask-image:linear-gradient(#0000 30px,#000 150px);mask-image:linear-gradient(#0000 30px,#000 150px)}.facts{color:var(--ink-body)}.cf,.offer{grid-template-columns:1fr;gap:24px}.offer dd{font-size:22px;line-height:30px}.prose p{font-size:16px;line-height:26px}.prose .lede{font-size:19px;line-height:28px}.art{padding-top:80px}}@media (width<=900px){.ph{min-height:0;padding-block:120px 0}.sec{padding-top:120px}.ph+.sec{padding-top:140px}.h2i{margin-bottom:28px}.rows li,.rows.q li,.rows.plain li{grid-template-columns:minmax(0,1fr);row-gap:8px;padding:28px 0 32px}.rows h3{font-size:17px;line-height:26px}}@media (width<=720px){.ph-h{font-size:28px;line-height:34px}}@media (prefers-reduced-motion:reduce){.hw-art img,.field img,.hd-cap,.wt-field img{transition:none}.glass:before,.caret,.cur,.hl-l,.ph-field,.start-end .caret{animation:none}.cs-bar .tn-p,.cs-bar .tn-p picture{transition:none}}.motion-off .hw-art img,.motion-off .field img,.motion-off .hd-cap{transition:none}.motion-off .glass:before,.motion-off .hl-l,.motion-off .ph-field{animation-duration:0s;animation-delay:0s}
