@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.3wn_q526zaolu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.3uuun_-7zsf1g.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.3wn_q526zaolu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.3uuun_-7zsf1g.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.3wn_q526zaolu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.3uuun_-7zsf1g.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}.instrument_sans_8935f639-module__NbWtKa__className{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.instrument_sans_8935f639-module__NbWtKa__variable{--font-instrument:"Instrument Sans", "Instrument Sans Fallback"}
@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/da4b870ab52b3094-s.2uxt0u9yugpfw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/86d70b7c76b6ec6e-s.2zeei6axiu3qn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/11cc37d7380d16b4-s.27211fhlic14m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a85fe84266768609-s.p.00hx3ibfyf9qx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/da4b870ab52b3094-s.2uxt0u9yugpfw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/86d70b7c76b6ec6e-s.2zeei6axiu3qn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/11cc37d7380d16b4-s.27211fhlic14m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a85fe84266768609-s.p.00hx3ibfyf9qx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat Fallback;src:local(Arial);ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.0%;size-adjust:76.94%}.caveat_2982b9c2-module__IyYdoa__className{font-family:Caveat,Caveat Fallback;font-style:normal}.caveat_2982b9c2-module__IyYdoa__variable{--font-caveat:"Caveat", "Caveat Fallback"}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/625a092f804baad3-s.3bgaltqld2gq2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6afabefbb32d7517-s.0mlt1uo-cplt-.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a4f4f75ad654963f-s.p.22m3f6pvfu2zf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a3bcb02a0e9e5d11-s.35qbt1_6db49h.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35fd19aef91b293-s.1-vmsm_v03uvy.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8f46d218c8f79e34-s.p.092z1_2w2m55_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro Fallback;src:local(Arial);ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.0%;size-adjust:110.36%}.be_vietnam_pro_16b16225-module__cz5jRW__className{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.be_vietnam_pro_16b16225-module__cz5jRW__variable{--font-vietnam:"Be Vietnam Pro", "Be Vietnam Pro Fallback"}
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.3zvkfbs08rnj_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.3strvg7o-g5v2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_d7b56f48-module__lUECSG__className{font-family:Instrument Serif,Instrument Serif Fallback;font-style:italic;font-weight:400}.instrument_serif_d7b56f48-module__lUECSG__variable{--font-serif-italic:"Instrument Serif", "Instrument Serif Fallback"}
:root{--paper:#f7f7f5;--ink:#1c1c1e;--muted:#6f6f74;--line:#d8d8d4;--sel:#0d99ff;--live:#14ae5c;--you:#a259ff;--surface:#fff;--surface-2:#f1f1ee;--hair:#ebebe8;--hair-2:#e6e6e2;--hair-3:#efefec;--field:#f5f5f3;--hover:#f2f2f0;--ly-hl:#e5f4ff;--dots:#dcdcd7;--img-bg:#eceae6;--ink-strong:#000;--contact:#111113;--font:var(--font-instrument,"Instrument Sans"),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-head:var(--font-vietnam,"Be Vietnam Pro"),var(--font);--font-accent:var(--font-serif-italic,"Instrument Serif"),Georgia,serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html[data-theme=dark]{--paper:#151517;--ink:#ececea;--muted:#9b9ba2;--line:#3a3a40;--surface:#212124;--surface-2:#1a1a1d;--hair:#2f2f34;--hair-2:#333338;--hair-3:#2b2b30;--field:#2b2b30;--hover:#2d2d32;--ly-hl:#0d99ff33;--dots:#2b2b30;--img-bg:#2a2a2e;--ink-strong:#fff;--contact:#0b0b0c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--sel);color:#fff}main{display:block}.wrap{width:100%;max-width:36rem;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}.hero{align-items:center;min-height:100dvh;padding-top:6rem;padding-bottom:6rem;display:flex}h1{letter-spacing:-.045em;margin:0;font-size:clamp(3.25rem,12vw,5.5rem);font-weight:500;line-height:1}.sel{margin-left:-.1em;padding:.08em .14em .12em .1em;display:inline-block;position:relative}.sel-box{border:1px solid var(--sel);pointer-events:none;position:absolute;inset:0}.handle{border:1px solid var(--sel);background:#fff;width:7px;height:7px;position:absolute}.h-tl{top:-4px;left:-4px}.h-tr{top:-4px;right:-4px}.h-bl{bottom:-4px;left:-4px}.h-br{bottom:-4px;right:-4px}.dims{background:var(--sel);color:#fff;font:500 11px/1 var(--font);letter-spacing:.01em;white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:3px;padding:4px 6px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.role{margin:3rem 0 0}.role.big-title{margin-top:1.25rem}.status{color:var(--muted);align-items:center;gap:.5rem;margin:1.75rem 0 0;font-size:.9375rem;display:flex}.dot{background:var(--live);border-radius:50%;flex:none;width:7px;height:7px}.status .dot{width:8px;height:8px;position:relative}.status .dot:before{content:"";background:var(--live);border-radius:50%;animation:1.8s cubic-bezier(0,0,.2,1) infinite dot-ping;position:absolute;inset:0}@keyframes dot-ping{0%{opacity:.55;transform:scale(1)}75%,to{opacity:0;transform:scale(3.4)}}@media (prefers-reduced-motion:reduce){.status .dot:before{opacity:.25;animation:none;transform:scale(2.2)}}.about{max-width:32rem;color:var(--muted);margin:1.25rem 0 0;font-size:1.0625rem;line-height:1.7}.cta{margin-top:2.75rem}.layer-hover{position:relative}.layer-hover-ic,.tg-list{display:none}@media (hover:hover) and (pointer:fine){.layer-hover{cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .15s}.layer-hover:hover,.layer-hover:focus-visible{-webkit-text-decoration-color:var(--sel);text-decoration-color:var(--sel)}.layer-hover-ic{color:var(--muted);vertical-align:-.05em;margin-left:.3em;transition:color .15s;animation:1.8s ease-in-out infinite hint-nudge;display:inline-flex}.layer-hover:hover .layer-hover-ic,.layer-hover:focus-visible .layer-hover-ic{color:var(--sel)}.layer-hover-ic svg{width:13px;height:13px;display:block}@keyframes hint-nudge{0%,to{transform:translate(0)}50%{transform:translate(3px)}}.tg-list{z-index:40;opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;align-items:flex-start;gap:.55rem;width:max-content;max-width:min(15rem,100vw - 3rem);transition:opacity .3s,transform .35s cubic-bezier(.2,.7,.2,1),visibility 0s .3s;display:flex;position:absolute;top:calc(100% + 10px);left:0;transform:translateY(6px)}:is(.hero:has(.layer-hover:hover) .tg-list,.hero:has(.layer-hover:focus-visible) .tg-list){opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s,transform .35s cubic-bezier(.2,.7,.2,1);transform:none}.tg{background:var(--c);color:var(--t);font:600 .875rem/1 var(--font);white-space:nowrap;opacity:0;border-radius:999px;align-items:center;gap:.5em;padding:.6em 1.05em;transition:opacity .3s,transform .35s cubic-bezier(.2,.7,.2,1);display:flex;transform:translate(-8px);box-shadow:0 8px 16px -8px #00000047}:is(.hero:has(.layer-hover:hover) .tg,.hero:has(.layer-hover:focus-visible) .tg){opacity:1;transform:none}.tg-list .tg:first-child{transition-delay:0s}.tg-list .tg:nth-child(2){transition-delay:40ms}.tg-list .tg:nth-child(3){transition-delay:80ms}.tg-list .tg:nth-child(4){transition-delay:.12s}.tg-list .tg:nth-child(5){transition-delay:.16s}.tg-list .tg:nth-child(6){transition-delay:.2s}.tg-list .tg:nth-child(7){transition-delay:.24s}.tg-ic{flex:none;width:15px;height:15px;display:block}.tg-ic svg{width:100%;height:100%;display:block}.tg-label{display:block}:is(.hero:has(.layer-hover:hover) .note-me,.hero:has(.layer-hover:focus-visible) .note-me){opacity:0;transition:opacity .2s}}@media (min-width:900px) and (hover:hover) and (pointer:fine){.tg-list{margin-left:1.5rem;top:50%;left:100%;transform:translateY(-50%)translate(10px)}:is(.hero:has(.layer-hover:hover) .tg-list,.hero:has(.layer-hover:focus-visible) .tg-list){transform:translateY(-50%)translate(0)}}@media (prefers-reduced-motion:reduce){.layer-hover-ic{animation:none}}.copy{color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.75rem;padding:0;font-size:.9375rem;display:inline-flex}.copy:focus-visible{outline:2px solid var(--sel);outline-offset:6px;border-radius:8px}.key{border:1px solid var(--line);background:var(--surface);width:2.125rem;height:2.125rem;color:var(--ink);font:600 .875rem/1 var(--font);box-shadow:0 2px 0 var(--line);border-radius:.45rem;flex:none;place-items:center;transition:transform 80ms,box-shadow 80ms,background-color .2s,color .2s,border-color .2s;display:grid}.copy:hover .key{border-color:var(--sel);box-shadow:0 2px 0 var(--sel)}.copy:active .key,.copy[data-pressed=true] .key{box-shadow:0 0 0 var(--line);transform:translateY(2px)}.copy[data-status=copied] .key{background:var(--sel);border-color:var(--sel);color:#fff;box-shadow:0 2px #0a7fd6}.ink{color:var(--ink)}.hint-tap{display:none}@media (hover:none) and (pointer:coarse){.hint-key{display:none}.hint-tap{display:inline}}.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}.big-title{letter-spacing:-.02em;font-size:clamp(1.75rem,4.5vw,2.5rem);line-height:1.2}.ti-sans{font-family:var(--font-head);font-weight:500}.ti-serif{font-family:var(--font-accent);letter-spacing:.04em;font-style:italic;font-weight:600}.role .ti-serif{display:block}.exp-head h2{margin:0}.exp-head p{color:var(--muted);margin:.5rem 0 0;font-size:1.0625rem;line-height:1.7}.fr{position:relative}.fr-label{color:var(--muted);align-items:center;gap:6px;margin:0 0 8px;font-size:12px;line-height:1;transition:color .15s;display:flex}.fr-label svg{flex:none}.fr-body{background:var(--surface);box-shadow:0 0 0 1px var(--hair);border-radius:14px;padding:1.25rem 1.5rem;transition:box-shadow .15s;position:relative}.logo{width:2.75rem;height:2.75rem;box-shadow:0 0 0 1px var(--hair-2);background:#fff;border-radius:.5rem;flex:none;overflow:hidden}.logo img{object-fit:contain;width:100%;height:100%;display:block}.logo.mono{color:var(--ink);place-items:center;font-size:1.0625rem;font-weight:600;display:grid}.fr .sel-box,.fr .dims{opacity:0;transition:opacity .15s}.fr .sel-box{border-radius:14px}.fr:hover .sel-box,.fr:hover .dims{opacity:1}.fr:hover .fr-label{color:var(--sel)}.fr:hover .fr-body{box-shadow:0 0 0 1px #0000}@media (max-width:560px){.fr-body{padding:1.25rem}}.cases.xr{padding-top:2rem;padding-bottom:4rem;position:relative}.xr-wrap{width:min(calc(100vw - 2*var(--cc-pad)),var(--cc-w));grid-template-columns:minmax(0,15rem) minmax(0,1fr);align-items:start;gap:3rem;margin-inline:auto;display:grid}.xr-side{position:sticky;top:5.5rem}.xr-badge{width:96px;height:96px;margin-top:2rem;display:block}.xr-list{border-top:1px solid var(--hair-2);margin:0;padding:0;list-style:none}.xr-row{border-bottom:1px solid var(--hair-2)}.xr-row>.fr-body{box-shadow:none;background:0 0;border-radius:10px;padding:0;transition:background .15s}html[data-theme=dark] .xr-row>.fr-body{box-shadow:none}.xr-row:hover>.fr-body{box-shadow:none;background:color-mix(in srgb,var(--sel) 4%,transparent)}.xr-row .sel-box{border-radius:10px}.xr-head{grid-template-columns:2.5rem minmax(0,1fr) auto 1.75rem;align-items:center;gap:.9rem;padding:.9rem .75rem;display:grid}.xr-row.has-more .xr-head{cursor:pointer}.xr-head .logo{width:2.5rem;height:2.5rem}.xr-co{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:1.0625rem;font-weight:500;line-height:1.3}.xr-co a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s,text-decoration-color .15s;position:relative}.xr-co a:hover{color:var(--sel);-webkit-text-decoration-color:var(--sel);text-decoration-color:var(--sel)}.xr-co a:focus-visible{outline:2px solid var(--sel);outline-offset:3px;border-radius:2px}.xr-role{color:var(--muted);margin:.15rem 0 0;font-size:.9375rem;font-weight:400;line-height:1.35}.xr-date{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:.4rem;margin:0;font-size:.8125rem;display:flex}.xr-date .dot{background:var(--live);border-radius:50%;flex:none;width:.4rem;height:.4rem}.xr-tg{border:1px solid var(--hair-2);background:var(--surface);width:1.75rem;height:1.75rem;color:var(--muted);cursor:pointer;border-radius:50%;padding:0;transition:color .15s,border-color .15s,background .15s;position:relative}.xr-tg span{transition:transform .3s cubic-bezier(.3,.8,.3,1.2);position:absolute;inset:0}.xr-tg span:before,.xr-tg span:after{content:"";background:currentColor;border-radius:1px;width:.6rem;height:1.5px;margin:-.75px 0 0 -.3rem;position:absolute;top:50%;left:50%}.xr-tg span:after{transform:rotate(90deg)}.xr-row:hover .xr-tg{color:var(--sel);border-color:var(--sel)}.xr-tg:focus-visible{outline:2px solid var(--sel);outline-offset:2px}.xr-row.is-open .xr-tg span{transform:rotate(45deg)}.xr-more{grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1);display:grid}.xr-more-in{visibility:hidden;opacity:0;min-height:0;padding:0 .75rem 0 4.15rem;transition:opacity .25s,visibility 0s .45s;overflow:hidden}.xr-row.is-open .xr-more,.xr-row.is-hl .xr-more{grid-template-rows:1fr}.xr-row.is-open .xr-more-in,.xr-row.is-hl .xr-more-in{visibility:visible;opacity:1;transition:opacity .35s .1s,visibility}.xr-desc{color:var(--muted);margin:0 0 1rem;font-size:.9375rem;line-height:1.7}.xr-more .cset{margin:0 0 1.1rem}@media (max-width:860px){.xr-wrap{grid-template-columns:minmax(0,1fr);gap:2rem}.xr-side{justify-content:space-between;align-items:center;gap:1.25rem;display:flex;position:static}.xr-badge{flex:none;width:80px;height:80px;margin-top:0}}@media (max-width:560px){.xr-head{grid-template-columns:2.5rem minmax(0,1fr) 1.75rem;gap:.25rem .75rem;padding:.8rem .5rem}.xr-date{grid-area:2/2/auto/-1}.xr-more-in{padding-left:.5rem;padding-right:.5rem}}@media (prefers-reduced-motion:reduce){.xr-more,.xr-more-in,.xr-tg span,.xr-row>.fr-body{transition:none}}.cases{--cc-pad:1.5rem;--cc-w:62rem;padding-top:2rem;padding-bottom:6rem}@media (min-width:1200px) and (hover:hover) and (pointer:fine){.cases{--cc-pad:calc(248px + 1rem)}html[data-inspect=off] .cases{--cc-pad:1.5rem}}@media (max-width:860px){.cases{--cc-w:36rem}}.cc-head,.cc-grid{width:min(calc(100vw - 2*var(--cc-pad)),var(--cc-w));margin-inline:auto}.cc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:3.5rem;padding:0;list-style:none;display:grid}@media (max-width:860px){.cc-grid{grid-template-columns:minmax(0,1fr)}}.cc-grid>.fr{flex-direction:column;min-width:0;display:flex}.cc-grid>.fr .fr-body{flex:1}.fr-body.cc{flex-direction:column;gap:1rem;padding:.75rem .75rem 1.25rem;display:flex}.cc-media{aspect-ratio:16/10;background:var(--field);border-radius:10px;flex:none;position:relative;overflow:hidden;container-type:inline-size}.cc-bex{background:linear-gradient(160deg,color-mix(in srgb,#ffc700 24%,var(--field)),color-mix(in srgb,#e58fc2 22%,var(--field)))}.cc-quorum{background:linear-gradient(160deg,color-mix(in srgb,#019f93 22%,var(--field)),color-mix(in srgb,#0f172b 12%,var(--field)))}.cc-chat{background:linear-gradient(160deg,color-mix(in srgb,#1a5eed 16%,var(--field)),color-mix(in srgb,#b077dc 14%,var(--field)))}.cc-media:after{content:"";z-index:3;border-radius:inherit;background:radial-gradient(11rem circle at calc(var(--p,.5)*100%) calc(var(--q,.5)*100%),#fff6,transparent 70%);mix-blend-mode:soft-light;opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;inset:0}.cc-media.pt:after{opacity:1}.cc-fan{transform:perspective(800px) rotateY(calc((var(--p,.5) - .5)*18deg)) rotateX(calc((var(--q,.5) - .5)*-10deg));transition:transform .25s ease-out;position:absolute;inset:0}.cc-fan img{border:1px solid var(--hair-2);background:var(--surface);border-radius:clamp(8px,3cqw,14px);width:31cqw;height:auto;transition:transform .5s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:-24%;left:50%;box-shadow:0 14px 28px -16px #00000073}.cc-fan img:first-child{transform:translateX(calc(-132% - (var(--p,.5) - .5)*14%)) rotate(-8deg) translateY(4%)}.cc-fan img:nth-child(2){transform:translate(-50%)translateY(-2%)}.cc-fan img:nth-child(3){transform:translateX(calc(32% - (var(--p,.5) - .5)*14%)) rotate(8deg) translateY(4%)}.fr:hover .cc-fan img:first-child{transform:translateX(calc(-140% - (var(--p,.5) - .5)*14%)) rotate(-11deg) translateY(0)}.fr:hover .cc-fan img:nth-child(2){transform:translate(-50%)translateY(-7%)}.fr:hover .cc-fan img:nth-child(3){transform:translateX(calc(40% - (var(--p,.5) - .5)*14%)) rotate(11deg) translateY(0)}.cc-cmp{position:absolute;inset:0}.cc-cmp img{object-fit:cover;object-position:50% 0;width:100%;height:100%;position:absolute;inset:0}.cc-new{clip-path:inset(0 0 0 calc(var(--p,.5)*100%))}.cc-handle{top:0;bottom:0;left:calc(var(--p,.5)*100%);z-index:2;background:var(--sel);pointer-events:none;width:2px;margin-left:-1px;position:absolute}.cc-handle:after{content:"↔";background:var(--sel);color:#fff;border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;margin:-.85rem 0 0 -.85rem;font-size:.8rem;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 4px 12px -3px #0d99ffb3}.cc-chat:not(.pt) .cc-new{animation:7s ease-in-out infinite alternate cc-wipe}.cc-chat:not(.pt) .cc-handle{animation:7s ease-in-out infinite alternate cc-wipe-h}@keyframes cc-wipe{0%{clip-path:inset(0 0 0 22%)}to{clip-path:inset(0 0 0 78%)}}@keyframes cc-wipe-h{0%{left:22%}to{left:78%}}.cc-tag{left:auto;right:.5rem}.cc-tag:not(.cc-tag-new){left:.5rem;right:auto}.cc-strip{width:400%;transform:translateX(calc(var(--i,0)*-25%));transition:transform .55s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:0;bottom:0;left:0}.cc-strip img{object-fit:cover;object-position:left top;flex:none;width:25%;height:100%;display:block}.cc-cap{z-index:2;background:var(--ink);color:var(--paper);font:600 .625rem/1 var(--font);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.3em .65em;position:absolute;bottom:.5rem;left:.5rem}.cc-dots{z-index:2;gap:.3rem;display:flex;position:absolute;bottom:.6rem;right:.6rem}.cc-dots i{background:color-mix(in srgb,var(--ink) 30%,transparent);border-radius:50%;width:.4rem;height:.4rem;transition:width .25s,background-color .25s}.cc-dots i.on{background:var(--ink);border-radius:999px;width:1.1rem}.cc-tag{z-index:2;background:var(--ink);color:var(--paper);font:600 .625rem/1 var(--font);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.3em .6em;position:absolute;top:.5rem}.cc-tag-new{background:var(--sel);color:#fff}.cc-text{flex-direction:column;flex:1;gap:.75rem;padding:.25rem .5rem 0;display:flex}.cc-meta{align-items:center;gap:.75rem;display:flex}.cc-meta .logo{width:2.25rem;height:2.25rem}.cc-who{flex-direction:column;min-width:0;display:flex}.cc-co{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:.9375rem;font-weight:500;line-height:1.3}.cc-role{color:var(--muted);font-size:.75rem;line-height:1.35}.cc-desc{color:var(--muted);margin:0;font-size:.9375rem;line-height:1.6}.cc-stats{flex-wrap:wrap;gap:.4rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.cc-stats li{border:1px solid var(--hair-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.4em .75em;font-size:.75rem;line-height:1.2}.cc-stats b{color:var(--ink);font-weight:600}.cc-cta{color:var(--ink);align-items:center;gap:.5rem;margin-top:auto;padding-top:.75rem;font-size:.875rem;font-weight:500;transition:color .15s;display:inline-flex}.cc-go{background:var(--ink);width:1.5rem;height:1.5rem;color:var(--paper);border-radius:50%;place-items:center;transition:transform .2s cubic-bezier(.3,1.5,.4,1),background-color .15s;display:grid}.fr:hover .cc-cta{color:var(--sel)}.fr:hover .cc-go{background:var(--sel);color:#fff;transform:translate(2px,-2px)}.cc-stats li{transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .15s,color .15s}.fr:hover .cc-stats li{border-color:color-mix(in srgb,var(--sel) 45%,var(--hair-2));transform:translateY(-2px)}.fr:hover .cc-stats li:nth-child(2){transition-delay:50ms}.fr:hover .cc-stats li:nth-child(3){transition-delay:.1s}@media (prefers-reduced-motion:reduce){.cc-fan,.cc-fan img,.cc-go,.cc-strip,.cc-dots i,.cc-stats li{transition:none}.cc-chat:not(.pt) .cc-new,.cc-chat:not(.pt) .cc-handle{animation:none}}.cset{--comp:#9747ff;margin-top:1.5rem}.cset-label{color:var(--comp);align-items:center;gap:6px;margin:0 0 8px;font-size:12px;font-weight:500;line-height:1;display:flex}.cset-box{border:1px dashed var(--comp);border-radius:6px;grid-template-columns:1fr 1fr;gap:1rem;padding:1.25rem 1rem 1rem;display:grid}.variant{color:inherit;min-width:0;text-decoration:none;display:block}.v-prop{color:var(--comp);align-items:center;gap:5px;margin-bottom:6px;font-size:11px;line-height:1;display:flex}.v-card{background:var(--surface);box-shadow:0 0 0 1px var(--hair);border-radius:2px;padding:.875rem .875rem .8rem;transition:box-shadow .15s;display:block}.v-name{color:var(--ink);letter-spacing:-.01em;font-size:.9375rem;font-weight:500;display:block}.v-desc{color:var(--muted);margin-top:.2rem;font-size:.875rem;display:block}.v-url{color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px;overflow-wrap:anywhere;margin-top:.75rem;font-size:.8125rem;transition:color .15s,text-decoration-color .15s;display:block}.variant:hover .v-card{box-shadow:0 0 0 1.5px var(--comp)}.variant:hover .v-url{color:var(--comp);-webkit-text-decoration-color:var(--comp);text-decoration-color:var(--comp)}.variant:focus-visible{outline:none}.variant:focus-visible .v-card{box-shadow:0 0 0 2px var(--comp)}@media (max-width:560px){.cset-box{grid-template-columns:1fr}}.stack{padding-top:1rem;padding-bottom:5rem}.stack-row{justify-content:space-between;align-items:center;gap:1rem;margin:1.25rem 0 0;padding:0;list-style:none;display:flex}.stack-item{display:flex}.stack-link{transition:transform .15s,opacity .15s;display:flex}.stack-link:hover{transform:translateY(-2px)}.stack-link:focus-visible{outline:2px solid var(--sel);outline-offset:4px;border-radius:4px}.stack-ico{width:auto;height:28px;display:block}@media (max-width:560px){.stack-ico{height:24px}}.by-card{justify-content:center;align-items:center;height:6.5rem;padding:1rem;display:flex;position:relative}.by-mark{justify-content:center;align-items:center;max-width:100%;display:flex}.by-logo{width:auto;max-width:100%;height:auto;display:block}.by-l-citrus{max-height:38px}.by-l-osg{max-height:60px}.by-go{border:1px solid var(--line);width:1.6rem;height:1.6rem;color:var(--muted);border-radius:50%;place-items:center;transition:color .15s,border-color .15s,transform .25s cubic-bezier(.3,1.5,.4,1);display:grid;position:absolute;top:.6rem;right:.6rem}.variant:hover .by-go,.variant:focus-visible .by-go{color:var(--comp);border-color:var(--comp);transform:translate(2px,-2px)}.cases.sv2{padding-top:2rem;padding-bottom:5rem}.sv-wrap{width:min(calc(100vw - 2*var(--cc-pad)),var(--cc-w));margin-inline:auto;container-type:inline-size}.sv-head{white-space:nowrap;margin:0;font-size:min(2.5rem,4.9cqw)}.sv-strips{gap:.75rem;height:25rem;margin:2.5rem 0 0;padding:0;list-style:none;display:flex}.sv{--on:0;background:color-mix(in srgb,var(--tint) 24%,var(--surface));min-width:0;box-shadow:0 0 0 1px var(--hair-2);border-radius:16px;flex:1 1 0;transition:flex-grow .55s cubic-bezier(.2,.7,.2,1),background .35s,box-shadow .2s;position:relative;overflow:hidden}.sv.is-active{background:color-mix(in srgb,var(--tint) 55%,var(--surface));flex-grow:5.4}.sv:hover{box-shadow:0 0 0 1px var(--sel)}.sv-row{z-index:1;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:space-between;align-items:flex-start;margin:0;padding:1.25rem;display:flex;position:absolute;inset:0}.sv-row:focus-visible{outline:2px solid var(--sel);outline-offset:-3px;border-radius:16px}.sv-no{color:color-mix(in srgb,var(--ink) 60%,transparent);font-variant-numeric:tabular-nums;font-size:.8125rem}.sv-t{letter-spacing:-.03em;color:var(--ink);font-weight:500;line-height:1.1}.sv-t-h{white-space:nowrap;opacity:0;pointer-events:none;font-size:min(2rem,3.4cqw);transition:opacity .2s,transform .35s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:1.25rem;left:1.25rem;right:1.25rem;transform:translateY(8px)}.sv-t-v{writing-mode:vertical-rl;white-space:nowrap;font-size:1.125rem;transition:opacity .2s;transform:rotate(180deg)}.sv.is-active .sv-t-h{opacity:1;transition:opacity .35s .15s,transform .5s cubic-bezier(.2,.7,.2,1) .15s;transform:none}.sv.is-active .sv-t-v{opacity:0}.sv-body{pointer-events:none;width:min(22rem,100% - 2.5rem);position:absolute;top:3.25rem;bottom:5.5rem;left:1.25rem}.sv-body-in{opacity:0;flex-direction:column;justify-content:space-between;height:100%;transition:opacity .2s,transform .3s;display:flex;transform:translateY(10px)}.sv.is-active .sv-body-in{opacity:1;transition:opacity .4s .2s,transform .55s cubic-bezier(.2,.7,.2,1) .2s;transform:none}.sv-ico{object-fit:contain;align-self:flex-start;width:auto;max-width:100%;height:min(8.5rem,100%);margin:auto 0;display:block}.sv-hint{letter-spacing:.07em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 55%,transparent);margin:0 0 .35rem;font-size:.6875rem}.sv-q{color:var(--ink);max-width:21rem;margin:0;font-size:1rem;line-height:1.5}@media (max-width:860px){.sv-strips{flex-direction:column;gap:.5rem;height:auto}.sv{flex:none;transition:background .35s,box-shadow .2s}.sv-row{flex-direction:row;justify-content:flex-start;align-items:center;gap:1rem;padding:1rem 1.1rem;position:relative;inset:auto}.sv-t-v{display:none}.sv-t-h{opacity:1;pointer-events:auto;font-size:min(1.375rem,5.2cqw);position:static;transform:none}.sv-body{grid-template-rows:0fr;width:auto;transition:grid-template-rows .4s cubic-bezier(.2,.7,.2,1);display:grid;position:static}.sv.is-active .sv-body{grid-template-rows:1fr}.sv-body-in{opacity:1;visibility:hidden;flex-direction:row;justify-content:flex-start;align-items:center;gap:1rem;height:auto;min-height:0;padding:0 1.1rem;transition:visibility 0s .4s;overflow:hidden;transform:none}.sv.is-active .sv-body-in{visibility:visible;padding-bottom:1.1rem;transition:visibility}.sv-ico{flex:none;height:4.5rem;margin:0}.sv-q{font-size:.9375rem}}@media (prefers-reduced-motion:reduce){.sv,.sv-t,.sv-body,.sv-body-in{transition:none!important}}.writing{padding-top:8rem;padding-bottom:9rem}.wr-head-row{justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.wr-head{margin:0}.wr-sub{color:var(--muted);margin:.75rem 0 0;font-size:1.0625rem;line-height:1.7}.wr-arrow{border:1px solid var(--line);width:2.75rem;height:2.75rem;color:var(--ink);border-radius:50%;flex:none;place-items:center;transition:border-color .15s,color .15s,transform .15s;display:grid}.wr-arrow svg{width:18px;height:18px}.wr-arrow:hover{border-color:var(--sel);color:var(--sel);transform:rotate(45deg)}.wr-arrow:focus-visible{outline:2px solid var(--sel);outline-offset:2px}.wr-list{background:var(--surface-2);border-radius:14px;gap:.5rem;margin:2.25rem 0 0;padding:.5rem;display:grid}.wr-row{background:var(--surface);box-shadow:0 0 0 1px var(--hair);color:inherit;border-radius:14px;align-items:center;gap:1rem;padding:1rem 1.25rem;text-decoration:none;transition:box-shadow .15s;display:flex}.wr-row:hover{box-shadow:0 0 0 1px var(--sel)}.wr-row:focus-visible{outline:2px solid var(--sel);outline-offset:2px}.wr-title{letter-spacing:-.01em;flex:1;min-width:0;font-size:1.0625rem;font-weight:500;line-height:1.5}.wr-date{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:.875rem}@media (max-width:560px){.wr-row{gap:.75rem;padding:.85rem .9rem}.wr-title{font-size:.9375rem}.wr-date{display:none}}.testimonials{padding-top:2rem;padding-bottom:6rem}.tm-head-wrap{container-type:inline-size}.tm-head{white-space:nowrap;margin:0;font-size:6.1cqw}.tm-marquee{width:min(calc(100% - 2*var(--gl-pad)),1400px);margin:2.5rem auto 0;transition:width .35s cubic-bezier(.2,.7,.2,1);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 3% 97%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 3% 97%,#0000 100%)}.tm-track{align-items:flex-start;width:max-content;padding:.75rem 0;animation:38s linear infinite tm-scroll;display:flex}@keyframes tm-scroll{to{transform:translate(-50%)}}@media (hover:hover) and (pointer:fine){.tm-track:has(.tm-card:hover){animation-play-state:paused}}.tm-card{--bar:#b077dc;--dot:#e8cef8;background:var(--surface);border:2px solid var(--ink);border-radius:16px;flex-direction:column;flex:none;width:min(27rem,82vw);height:19rem;margin:1em 1.625rem;display:flex;overflow:hidden;box-shadow:0 14px 22px -14px #00000040}.tm-c-pink{--bar:#e58fc2;--dot:#f9d6ec}.tm-c-blue{--bar:#6fa5e0;--dot:#cfe5fb}.tm-c-green{--bar:#5cc49b;--dot:#cef2e2}.tm-bar{background:var(--bar);border-bottom:2px solid var(--ink);flex:none;justify-content:flex-end;align-items:center;gap:.4rem;height:2.5rem;padding:0 .9rem;display:flex}.tm-dot{background:var(--dot);border-radius:50%;width:.5625rem;height:.5625rem}.tm-body{flex-direction:column;flex:1;min-height:0;padding:1.25rem 1.25rem 1.1rem;display:flex}.tm-quote{color:var(--ink);margin:0;font-size:.875rem;line-height:1.6;overflow:hidden}.tm-who{border-top:1px dashed var(--line);flex-direction:column;margin-top:auto;padding-top:.75rem;display:flex}.tm-name{letter-spacing:-.01em;font-size:.9375rem;font-weight:600}.tm-role{color:var(--muted);margin-top:.15rem;font-size:.8125rem}@media (max-width:560px){.tm-card{width:min(21rem,86vw);height:21rem}.tm-quote{font-size:.8125rem}.tm-name{font-size:.875rem}.tm-role{font-size:.75rem}}@media (prefers-reduced-motion:reduce){.tm-track{animation:none}}.gallery{padding-top:2rem;padding-bottom:6rem}.gallery,.testimonials{--gl-pad:clamp(.5rem,1.2vw,1rem)}@media (min-width:1200px) and (hover:hover) and (pointer:fine){.gallery,.testimonials{--gl-pad:calc(12px + 236px + 24px)}html[data-inspect=off] .gallery,html[data-inspect=off] .testimonials{--gl-pad:clamp(.5rem,1.2vw,1rem)}}.gl-head-wrap{container-type:inline-size}.gl-head{white-space:nowrap;margin:0;font-size:min(2.5rem,7.1cqw)}.gl-clock{vertical-align:-.04em;width:.8em;height:.8em;color:var(--ink);margin-left:.3em;display:inline-block}.gl-hand-h,.gl-hand-m{transform-box:view-box;transform-origin:12px 12px}.gl-sub{max-width:32rem;color:var(--muted);margin:1.25rem 0 0;font-size:.9375rem;line-height:1.65}.gl-window{height:clamp(32rem,90vh,52rem);padding:0 var(--gl-pad);margin-top:3rem;transition:padding .35s cubic-bezier(.2,.7,.2,1);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0,#000 18% 82%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 18% 82%,#0000 100%)}.gl-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;max-width:1400px;height:100%;margin:0 auto;display:grid}.gl-col{min-width:0;overflow:hidden}.gl-col-track{will-change:transform;flex-direction:column;animation:140s linear infinite gl-up;display:flex}@keyframes gl-up{to{transform:translateY(-50%)}}.gl-item{flex:none;margin:0 0 .75rem}.gl-open{cursor:zoom-in;background:0 0;border:0;border-radius:8px;width:100%;padding:0;display:block;overflow:hidden}.gl-open:focus-visible{outline:2px solid var(--sel);outline-offset:-2px}.gl-img{background:var(--img-bg);width:100%;height:auto;display:block}.gl-fade{pointer-events:none;z-index:2;height:20%;position:absolute;left:0;right:0}.gl-fade-t{--d:bottom;top:0}.gl-fade-b{--d:top;bottom:0}.gl-fade:before,.gl-fade:after{content:"";position:absolute;inset:0}.gl-fade:before{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);-webkit-mask-image:linear-gradient(to var(--d),#000 0,transparent 100%);-webkit-mask-image:linear-gradient(to var(--d),#000 0,transparent 100%);mask-image:linear-gradient(to var(--d),#000 0,transparent 100%)}.gl-fade:after{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-mask-image:linear-gradient(to var(--d),#000 0,transparent 55%);-webkit-mask-image:linear-gradient(to var(--d),#000 0,transparent 55%);mask-image:linear-gradient(to var(--d),#000 0,transparent 55%)}@media (max-width:560px){.gl-window{height:clamp(28rem,78vh,40rem)}.gl-cols{gap:.4rem}.gl-item{margin-bottom:.4rem}.gl-open{border-radius:5px}}@media (prefers-reduced-motion:no-preference){.gl-hand-m{animation:10s linear infinite gl-spin}.gl-hand-h{animation:120s linear infinite gl-spin}}@keyframes gl-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.gl-col-track{animation:none}.gl-item[aria-hidden=true]{display:none}.gl-window{overflow-y:auto}.gl-cols{height:auto}.gl-col{overflow:visible}.gl-fade{display:none}}.gl-cta{justify-content:center;margin-top:1.75rem;padding:0 1rem;display:flex;position:relative}.gl-all{border:2px solid var(--ink);color:#1c1c1e;font:600 1rem/1 var(--font);letter-spacing:-.01em;box-shadow:4px 4px 0 var(--ink);background:#ffe58a;border-radius:999px;align-items:center;gap:.9rem;padding:.6rem .7rem .6rem .9rem;transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s,background-color .18s;display:inline-flex;position:relative}.gl-all:hover{box-shadow:2px 2px 0 var(--ink);background:#ffd84d;transform:translate(2px,2px)}.gl-all:active{box-shadow:0 0 0 var(--ink);transform:translate(4px,4px)}.gl-all:focus-visible{outline:2px solid var(--sel);outline-offset:5px}.gl-stack{padding-left:.7rem;display:flex}.gl-stack img{object-fit:cover;border:2px solid var(--ink);background:#fff;border-radius:.4rem;width:1.9rem;height:2.4rem;margin-left:-.7rem;transition:transform .3s cubic-bezier(.3,.8,.3,1.3);display:block}.gl-stack img:first-child{transform:rotate(-9deg)}.gl-stack img:nth-child(2){transform:rotate(3deg)translateY(-3px)}.gl-stack img:nth-child(3){transform:rotate(11deg)}.gl-all:hover .gl-stack img:first-child{transform:rotate(-17deg)translate(-7px)}.gl-all:hover .gl-stack img:nth-child(2){transform:rotate(2deg)translateY(-8px)}.gl-all:hover .gl-stack img:nth-child(3){transform:rotate(19deg)translate(7px)}.gl-all-go{background:var(--ink);width:2.1rem;height:2.1rem;color:var(--paper);border-radius:50%;flex:none;place-items:center;transition:transform .25s cubic-bezier(.3,.8,.3,1.3);display:grid}.gl-all:hover .gl-all-go{transform:rotate(45deg)scale(1.08)}.gl-note{transform-origin:0;color:var(--ink);pointer-events:none;white-space:nowrap;align-items:center;gap:.2rem;display:none;position:absolute;top:.35rem;left:calc(50% + 8.5rem + 3px);transform:rotate(-2deg)}.gl-note svg{flex:none;display:block}.gl-note span{font-size:1.4rem}@media (min-width:760px){.gl-note{display:flex}}@media (prefers-reduced-motion:reduce){.gl-all,.gl-stack img,.gl-all-go{transition:none}}.allphotos{z-index:44;overscroll-behavior:contain;background-color:var(--paper);background-image:radial-gradient(circle at 1px 1px,var(--dots) 1px,transparent 0);opacity:0;background-size:24px 24px;transition:opacity .2s;position:fixed;inset:0;overflow-y:auto}.allphotos[hidden]{display:none}.allphotos:not(.open){pointer-events:none}.allphotos.open{opacity:1}.ap-bar{z-index:2;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,4vw,2.5rem);display:flex;position:sticky;top:0}.ap-title{letter-spacing:-.02em;margin:0;font-size:1.75rem;line-height:1.2}.ap-count{vertical-align:.35em;font:500 .8125rem/1 var(--font);letter-spacing:0;color:var(--muted);font-variant-numeric:tabular-nums;margin-left:.7rem;display:inline-block}.ap-bar{flex-wrap:wrap}.ap-tod{--sky:#58a9ee;--thumb:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='5' fill='%23ffb020' stroke='%231c1c1e' stroke-width='1.6'/%3E%3Cg stroke='%231c1c1e' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 2.2v2.6M12 19.2v2.6M2.2 12h2.6M19.2 12h2.6M5.1 5.1l1.8 1.8M17.1 17.1l1.8 1.8M18.9 5.1l-1.8 1.8M6.9 17.1l-1.8 1.8'/%3E%3C/g%3E%3C/svg%3E");border:1.5px solid var(--line);background:color-mix(in srgb,var(--sky) 13%,var(--surface));border-radius:16px;flex:1 0 100%;order:3;grid-template-columns:auto minmax(9.5rem,11rem) minmax(0,1fr) auto;align-items:center;gap:.75rem 1rem;min-width:0;max-width:100%;padding:.65rem .9rem;transition:background-color .25s;display:grid}.ap-tod[data-night]{--thumb:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 14.5A8.5 8.5 0 1 1 9.5 4a7 7 0 0 0 10.5 10.5z' fill='%23ffe58a' stroke='%231c1c1e' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E")}.ap-tod-clock{color:var(--ink);flex:none}.ap-tod-clock circle{fill:var(--surface)}.ap-tod-h,.ap-tod-m{transform-box:view-box;transform-origin:12px 12px}.ap-tod-read{flex-direction:column;gap:.3rem;min-width:0;display:flex}.ap-tod-time{font:600 1rem/1 var(--font);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.ap-tod-part{font:500 .75rem/1.2 var(--font);color:var(--muted)}.ap-tod-range{appearance:none;cursor:grab;background:linear-gradient(90deg,#2b3175 0%,#5b5aa8 4.41%,#f4a3a0 8.82%,#f8c98a 14.71%,#9fd3f2 23.53%,#58a9ee 41.18%,#8cc4f4 61.76%,#ffc46b 72.06%,#f2799a 77.94%,#5a4a92 83.82%,#181d4d 91.18%,#0b1030 100%);border-radius:999px;outline:none;width:100%;height:14px;margin:0;box-shadow:inset 0 0 0 1.5px #0000002e}.ap-tod-range:active{cursor:grabbing}.ap-tod-range::-webkit-slider-thumb{appearance:none;border:2px solid var(--ink);background:#fff var(--thumb) center/24px no-repeat;width:36px;height:36px;box-shadow:3px 3px 0 var(--ink);border-radius:50%;margin-top:0;transition:transform .15s}.ap-tod-range::-moz-range-thumb{border:2px solid var(--ink);background:#fff var(--thumb) center/24px no-repeat;width:32px;height:32px;box-shadow:3px 3px 0 var(--ink);border-radius:50%}.ap-tod-range:hover::-webkit-slider-thumb{transform:scale(1.1)}.ap-tod-range:focus-visible::-webkit-slider-thumb{transform:scale(1.1)}.ap-tod-range:focus-visible{outline:2px solid var(--sel);outline-offset:8px}.ap-tod-reset{border:1.5px solid var(--ink);background:var(--surface);color:var(--ink);font:600 .8125rem/1 var(--font);white-space:nowrap;border-radius:999px;padding:.5rem .85rem;transition:background-color .15s,transform .15s}.ap-tod-reset:hover{color:#1c1c1e;background:#ffe58a;transform:translateY(-1px)}.ap-tod-reset:focus-visible{outline:2px solid var(--sel);outline-offset:2px}.ap-tod-reset[hidden]{display:none}.ap-item.ap-dim{opacity:.3;filter:saturate(.35)}.ap-bar .ap-close{border-color:var(--line);background:var(--surface);color:var(--ink);flex:none;position:static}.ap-bar .ap-close:hover{background:var(--hover);border-color:#c9c9c4}.ap-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));grid-auto-rows:1px;gap:0 .75rem;max-width:76rem;margin:0 auto;padding:.5rem clamp(1rem,4vw,2.5rem) 4rem;display:grid}.ap-item{width:100%;transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--sc,1));will-change:transform;border-radius:8px;align-self:start;margin:0;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,opacity .3s,filter .3s;display:block;position:relative;overflow:hidden}.ap-item.tilting{--sc:1.04;z-index:3;transition:transform 80ms linear,box-shadow .25s,opacity .3s,filter .3s;box-shadow:0 22px 40px -18px #00000073}.ap-item:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),#ffffff61,transparent 55%);transition:opacity .25s;position:absolute;inset:0}.ap-item.tilting:after{opacity:1}.ap-item .gl-open{width:100%}.ap-img{background:var(--img-bg);width:100%;height:auto;display:block}@media (max-width:560px){.ap-tod{grid-template-columns:auto minmax(0,1fr) auto;padding:.6rem .7rem}.ap-tod-range{order:5;grid-column:1/-1}.ap-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.5rem}.ap-title{font-size:1.5rem}}.lightbox{z-index:45;opacity:0;background:#0e0e10eb;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.lightbox[hidden]{display:none}.lightbox:not(.open){pointer-events:none}.lightbox.open{opacity:1}.lightbox:after{content:"";opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.lightbox.flash:after{animation:.45s ease-out lb-flash}@keyframes lb-flash{0%{opacity:.85}to{opacity:0}}.lb-img{object-fit:contain;border-radius:6px;width:auto;max-width:min(92vw,1100px);height:auto;max-height:80vh;transition:transform .25s cubic-bezier(.2,.7,.2,1);display:block;transform:scale(.97);box-shadow:0 20px 60px #00000080}.lightbox.open .lb-img{transform:none}.lb-btn{color:#fff;background:#ffffff14;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;transition:background-color .15s,border-color .15s;display:grid;position:absolute}.lb-btn:hover{background:#ffffff2e;border-color:#ffffff59}.lb-btn:focus-visible{outline:2px solid var(--sel);outline-offset:2px}.lb-cap{color:#fff;max-width:calc(100vw - 2rem);font:500 .8125rem/1 var(--font);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border-radius:999px;align-items:center;gap:.75rem;padding:.55rem .95rem;display:flex;position:absolute;bottom:1.1rem;left:50%;transform:translate(-50%)}.lb-dot{background:#fff;border-radius:50%;flex:none;width:.7rem;height:.7rem;box-shadow:0 0 0 2px #ffffff40}.lb-count{color:#fff9;font-variant-numeric:tabular-nums}.lb-img{touch-action:pan-y}.lb-close{top:1rem;right:1rem}.lb-nav{margin-top:-22px;top:50%}.lb-prev{left:1rem}.lb-next{right:1rem}html.lb-open body,html.ap-open body{overflow:hidden}@media (prefers-reduced-motion:reduce){.lightbox,.lb-img,.allphotos,.gl-all{transition:none}}.contact{background-color:var(--contact);background-image:radial-gradient(circle at 1px 1px,#ffffff24 1px,#0000 0);background-size:24px 24px;padding:7rem 0 8rem}.contact-head{color:#fff}.contact-sub{color:#ffffffad;max-width:32rem;margin:1.5rem 0 0;font-size:1.0625rem;line-height:1.7}.contact-link{color:#fff;text-underline-offset:3px;-webkit-text-decoration:underline #fff6;text-decoration:underline #fff6;transition:color .15s,text-decoration-color .15s}.contact-link:hover{color:var(--sel);-webkit-text-decoration-color:var(--sel);text-decoration-color:var(--sel)}.contact-link:focus-visible{outline:2px solid var(--sel);outline-offset:3px;border-radius:2px}html[data-theme=dark] .contact{background-color:var(--paper);background-image:radial-gradient(circle at 1px 1px,var(--dots) 1px,transparent 0)}html.intro{overflow:hidden}html.intro-hold *,html.intro-hold :before,html.intro-hold :after{animation-play-state:paused!important}.intro{--u:calc(100vw/40);z-index:200;position:fixed;inset:0}@media (min-width:768px){.intro{--u:calc(100vw/144)}}.intro-bg{color:#fff;font-family:var(--font);-webkit-font-smoothing:antialiased;background-color:#111113;background-image:radial-gradient(circle at 1px 1px,#ffffff24 1px,#0000 0);background-size:24px 24px;position:absolute;inset:0;overflow:hidden}.intro-year{position:absolute;bottom:2rem;left:1.25rem;right:1.25rem;overflow:hidden}.intro-year-row{opacity:0;font-size:calc(8.4*var(--u));letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-weight:500;transform:translateZ(0)}.intro-year-line{width:max-content;height:1em;padding-right:.08em;line-height:1;display:flex}.yl{align-items:center;height:100%;margin-right:-.08em;padding-right:.08em;display:flex;overflow:hidden}.yt{white-space:nowrap;line-height:1;display:block}.ch{opacity:0;display:inline-block}.ys-clip{height:1em;padding-right:.08em;overflow:hidden}.ys{transform:translateZ(0)}.ys-cell{align-items:center;height:1em;line-height:1;display:flex}.intro-journey{left:1.25rem;right:1.25rem;top:calc(8.4*var(--u));font-size:calc(1.8*var(--u));opacity:0;margin:0;font-weight:400;line-height:1.2;position:absolute}.jl{display:block;overflow:hidden}.intro-journey .ti-serif{font-size:1.18em;line-height:1}.jl>[data-line]{white-space:nowrap;opacity:0;display:block}.intro-bar{transform-origin:0 100%;background:#f7f7f5;width:100%;height:8px;position:absolute;bottom:0;left:0;transform:scaleX(0)}@media (min-width:768px){.intro-year{left:calc(32*var(--u));right:auto;top:calc(4.8*var(--u));bottom:auto}.intro-year-row{font-size:calc(18.1*var(--u))}.intro-journey{left:auto;right:calc(16*var(--u));top:auto;bottom:calc(4.8*var(--u));font-size:calc(2.3*var(--u));text-align:right;white-space:nowrap}}@media (prefers-reduced-motion:reduce){.intro{display:none}html.intro{overflow:auto}}body{background-image:radial-gradient(circle at 1px 1px,var(--dots) 1px,transparent 0);background-size:24px 24px}.ui{font-family:var(--font);color:var(--ink);font-size:12px;line-height:1.3}.panel{background:var(--surface);border:1px solid var(--hair-2);z-index:30;border-radius:12px;flex-direction:column;width:236px;display:none;position:fixed;top:12px;bottom:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.panel-l{left:12px}.panel-r{right:12px}.panel{transition:opacity .25s,transform .3s cubic-bezier(.2,.7,.2,1),visibility}html[data-inspect=off] .panel{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s .3s}html[data-inspect=off] .panel-l{transform:translate(-14px)}html[data-inspect=off] .panel-r{transform:translate(14px)}@media (min-width:1200px) and (hover:hover) and (pointer:fine){.panel{display:flex}}.p-head{border-bottom:1px solid var(--hair-3);padding:14px 14px 12px}.p-file{font-size:13px;font-weight:600;display:block}.p-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;display:block;overflow:hidden}.p-title{margin:0;padding:12px 14px 6px;font-size:11px;font-weight:600}.layers{flex:1;padding:0 6px 10px;overflow:auto}.ly{height:28px;color:var(--ink);white-space:nowrap;border-radius:6px;align-items:center;gap:7px;padding:0 8px;text-decoration:none;display:flex}.ly .lt{text-overflow:ellipsis;overflow:hidden}.ly .ic{width:12px;color:var(--muted);flex:none;place-items:center;display:grid}.ly.d1{padding-left:22px}.ly.d2{padding-left:36px}.ly.d3{padding-left:50px}.ly.top{font-weight:600}.ly.comp,.ly.comp .ic{color:#9747ff}.ly:hover,.ly.hl{background:var(--ly-hl)}.ly:focus-visible{outline:2px solid var(--sel);outline-offset:-2px}.p-body{flex:1;overflow:auto}.p-sec{border-bottom:1px solid var(--hair-3);padding:12px 14px 14px}.p-sec h3{margin:0 0 10px;font-size:11px;font-weight:600}.fields{grid-template-columns:1fr 1fr;gap:6px;display:grid}.fields+.fields,.row+.fields{margin-top:6px}.field{background:var(--field);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:5px;align-items:center;gap:8px;height:26px;padding:0 8px;display:flex;overflow:hidden}.field b{color:var(--muted);font-weight:400}.row{align-items:center;gap:8px;min-height:26px;display:flex}.row .r{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.sw{border-radius:3px;flex:none;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0000001a}.aa{text-align:center;width:14px;color:var(--muted);flex:none;font-size:11px}.hint{color:var(--muted);margin:0;padding:12px 14px;font-size:11px;line-height:1.5}.muted{color:var(--muted)}[data-layer].is-hl{outline:1px solid var(--sel);outline-offset:4px}.sel.is-hl,.fr.is-hl{outline:none}.fr.is-hl .sel-box,.fr.is-hl .dims{opacity:1}.fr.is-hl .fr-label{color:var(--sel)}.toolbar{background:var(--surface);border:1px solid var(--hair-2);z-index:30;bottom:16px;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));border-radius:12px;align-items:center;gap:2px;padding:4px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 4px 16px #0000000f}.tool{width:32px;height:32px;color:var(--ink);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.tool:hover{background:var(--hover)}.tool[aria-pressed=true]{background:var(--sel);color:#fff}.tool:focus-visible{outline:2px solid var(--sel);outline-offset:2px}.soc{color:var(--ink);transition:color .15s,background-color .15s}.soc[data-link=linkedin]:hover{color:#0a66c2}.soc[data-link=twitter]:hover,.soc[data-link=medium]:hover{color:var(--ink-strong)}.soc:focus-visible,.resume:focus-visible{outline:2px solid var(--sel);outline-offset:2px}.resume{background:var(--sel);color:#fff;height:32px;font:500 13px/1 var(--font);border-radius:8px;place-items:center;padding:0 14px;text-decoration:none;transition:background-color .15s;display:grid}.resume:hover{background:#0a85e0}.toolbar a[aria-disabled=true]{opacity:.9}.tb-sep{background:var(--hair-2);width:1px;height:20px;margin:0 4px}@media (prefers-reduced-motion:no-preference){.panel-l{animation:.6s cubic-bezier(.2,.7,.2,1) .35s backwards inL}.panel-r{animation:.6s cubic-bezier(.2,.7,.2,1) .35s backwards inR}.toolbar{animation:.6s cubic-bezier(.2,.7,.2,1) .5s both inB}.topbar{animation:.6s cubic-bezier(.2,.7,.2,1) .5s both inT}}@keyframes inL{0%{opacity:0;transform:translate(-10px)}}@keyframes inR{0%{opacity:0;transform:translate(10px)}}@keyframes inB{0%{opacity:0;transform:translate(-50%,10px)}}@keyframes inT{0%{opacity:0;transform:translate(-50%,-10px)}}.topbar{left:50%;top:calc(14px + env(safe-area-inset-top,0px));background:var(--surface);border:1px solid var(--hair-2);z-index:30;border-radius:12px;align-items:center;gap:2px;padding:4px;transition:background-color .3s,border-color .3s;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 4px 16px #0000000f}.tgl{height:34px;color:var(--ink);font:500 13px/1 var(--font);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:0 10px 0 6px;transition:background-color .15s;display:flex;position:relative}.tgl:hover{background:var(--hover)}.tgl:focus-visible{outline:2px solid var(--sel);outline-offset:2px}.tgl-roll{min-width:2.4em;height:16px;display:block;overflow:hidden}.tgl-roll>span{height:16px;line-height:16px;transition:transform .4s cubic-bezier(.3,1.2,.4,1);display:block}html[data-theme=dark] .tgl-theme .tgl-roll>span{transform:translateY(-16px)}.tgl-sep,.tgl-inspect{display:none}@media (min-width:1200px) and (hover:hover) and (pointer:fine){.tgl-sep{display:block}.tgl-inspect{display:flex}}.swap{flex:none;width:30px;height:30px;display:block;position:relative}.swap-a,.swap-b{border-radius:5px;width:17px;height:17px;transition:background-color .35s .14s,box-shadow .35s .14s,transform .35s cubic-bezier(.3,1.6,.4,1);display:block;position:absolute}.swap-b{background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--ink);bottom:2px;right:2px}.swap-a{background:var(--ink);box-shadow:0 0 0 2px var(--surface);top:2px;left:2px}.swap-ar{fill:none;width:12px;height:12px;stroke:var(--muted);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s;position:absolute;top:-1px;right:-1px}.tgl-theme:hover .swap-ar{stroke:var(--sel)}.tgl-theme:hover .swap-a{transform:translate(-2px,-2px)}.tgl-theme:hover .swap-b,.tgl-theme:active .swap-a{transform:translate(2px,2px)}.tgl-theme:active .swap-b{transform:translate(-2px,-2px)}.swap.go{animation:.75s cubic-bezier(.6,-.1,.25,1.15) swap-spin}@keyframes swap-spin{to{transform:rotate(360deg)}}.cb{width:30px;height:30px;color:var(--ink);fill:none;stroke:currentColor;stroke-width:1.55px;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:stroke-width .3s;display:block;overflow:visible}.cb-l,.cb-r{transition:transform .5s cubic-bezier(.3,1.6,.4,1)}.cb-s{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .35s cubic-bezier(.5,0,.2,1)}html:not([data-inspect=off]) .cb{stroke-width:1.8px}html:not([data-inspect=off]) .cb-l{transform:translate(-1.5px)}html:not([data-inspect=off]) .cb-r{transform:translate(1.5px)}html:not([data-inspect=off]) .cb-s{stroke-dashoffset:0;transition-delay:.12s}html[data-inspect=off] .tgl-inspect:hover .cb-l{transform:translate(-1.5px)}html[data-inspect=off] .tgl-inspect:hover .cb-r{transform:translate(1.5px)}.spk{z-index:60;pointer-events:none;background:var(--c,#fff);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:9px;height:9px;margin:-4.5px 0 0 -4.5px;position:fixed;top:0;left:0}.spk.sq{clip-path:none;border-radius:2px;width:6px;height:6px;margin:-3px 0 0 -3px}@media (prefers-reduced-motion:reduce){.tgl-roll>span,.swap-a,.swap-b,.cb,.cb-l,.cb-r,.cb-s{transition:none!important}.swap.go{animation:none}}html.vt .topbar{view-transition-name:topbar}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}@property --blind{syntax:"<length>";inherits:true;initial-value:0}::view-transition-new(root){-webkit-mask-image:repeating-linear-gradient(to bottom,#000 0,#000 var(--blind),transparent var(--blind),transparent var(--pitch,100px));-webkit-mask-image:repeating-linear-gradient(to bottom,#000 0,#000 var(--blind),transparent var(--blind),transparent var(--pitch,100px));mask-image:repeating-linear-gradient(to bottom,#000 0,#000 var(--blind),transparent var(--blind),transparent var(--pitch,100px))}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}::view-transition-old(topbar){display:none}::view-transition-new(topbar){animation:none}html.theme-anim *,html.theme-anim :before,html.theme-anim :after{transition:background-color .35s,color .35s,border-color .35s,box-shadow .35s,fill .35s,stroke .35s!important}html[data-theme=dark] .stack-ico [fill=\#000000]{fill:var(--ink)}html[data-theme=dark] .sv-ico{filter:invert()}html[data-theme=dark] .by-mark{background:#f4f4f2;border-radius:10px;padding:.6rem 1.1rem}html[data-theme=dark] .badge circle{fill:var(--surface);stroke:var(--hair-2)}html[data-theme=dark] .fr-body,html[data-theme=dark] .v-card,html[data-theme=dark] .wr-row{box-shadow:0 0 0 1px var(--hair)}html[data-theme=dark] .tm-card{background:#0c0c0e;box-shadow:0 14px 22px -14px #0009}html[data-theme=dark] .ap-item.tilting{box-shadow:0 22px 40px -18px #000c}html[data-theme=dark] .panel,html[data-theme=dark] .toolbar,html[data-theme=dark] .topbar{box-shadow:0 4px 16px #00000059}.hero>div{width:100%;position:relative}.experience{position:relative}.doodles{pointer-events:none;z-index:1;position:absolute;inset:0}.dd{position:absolute}.dd-m{display:none}@media (min-width:900px){.dd-m{display:block}}@media (min-width:1200px) and (max-width:1359px) and (hover:hover) and (pointer:fine){.dd-m{display:none}}.hand{font-family:var(--font-caveat,"Caveat"),cursive;color:var(--ink);font-size:24px;font-weight:600;line-height:1}.note-me{left:calc(var(--nw,300px) - 14px);display:none;top:-44px}.note-me .hand{white-space:nowrap;position:absolute;top:0;left:96px;transform:rotate(-5deg)}.note-me svg{position:absolute;top:14px;left:0}@media (min-width:700px){.note-me{display:block}}.pen{top:10px;left:calc(100% + 30px)}.squiggle{top:230px;left:-175px}.spark{width:22px;height:22px}.spark.sm{width:14px;height:14px}.ghost{align-items:flex-start;display:none}@media (min-width:900px){.ghost{display:flex}}@media (min-width:1200px) and (max-width:1359px) and (hover:hover) and (pointer:fine){.ghost{display:none}}.ghost span{font:500 11px/1 var(--font);color:#fff;z-index:0;background:0 0;border-radius:3px 10px 10px;margin:16px 0 0 -4px;padding:4px 7px 5px;position:relative}.ghost span:before{content:"";border-radius:inherit;z-index:-1;background:currentColor;position:absolute;inset:0}.g1{top:40px;left:-170px}.g2{top:330px;left:calc(100% + 70px)}.g1 span:before{background:#0acf83}.g2 span:before{background:#ff7262}.mark{white-space:nowrap;color:var(--ink);position:relative}.mark svg{width:calc(100% + 20px);height:calc(100% + 15px);position:absolute;inset:-8px -10px -7px;overflow:visible}.loop{top:-6px;left:-160px}.badge{top:150px;left:calc(100% + 36px)}.zig{top:560px;left:-130px}.sticky{z-index:2;color:#3d3200;font:600 18px/1 var(--font-caveat,"Caveat"),cursive;pointer-events:none;background:#ffe58a;padding:8px 12px 9px;position:absolute;top:-16px;right:-14px;transform:rotate(4deg);box-shadow:0 2px 6px #00000014,0 1px 1px #0000000f}@media (max-width:560px){.sticky{font-size:16px;top:-14px;right:-6px}}.fr-case{z-index:1;cursor:pointer;border-radius:14px;position:absolute;inset:0}.fr-case:focus-visible{outline:2px solid var(--sel);outline-offset:3px}.fr-co a{z-index:2;position:relative}.sticky-case{color:#4a1034;background:#f9d6ec;right:-10px;transform:rotate(-3deg)}@media (max-width:560px){.sticky-case{right:-4px}}.draw{stroke-dasharray:1;stroke-dashoffset:0}@media (prefers-reduced-motion:no-preference){.hero .draw{stroke-dashoffset:1px;animation:draw-line .7s var(--d,0s) cubic-bezier(.4,0,.2,1) forwards}.note-me .hand{animation:.5s ease-out 1.5s both fade-hand}.exp-dd .draw{stroke-dashoffset:1px}.exp-dd.in .draw{animation:draw-line .8s var(--d,0s) cubic-bezier(.4,0,.2,1) forwards}.spark{animation:twinkle 3.2s var(--t,0s) ease-in-out infinite}.badge{animation:22s linear infinite spin}.g1{animation:18s ease-in-out infinite wander1}.g2{animation:21s ease-in-out infinite wander2}.sticky{animation:5s ease-in-out infinite sway}.sticky-case{animation-name:sway-l}}@keyframes draw-line{to{stroke-dashoffset:0}}@keyframes fade-hand{0%{opacity:0;transform:rotate(-5deg)translateY(4px)}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(-4deg)}}@keyframes twinkle{0%,to{transform:scale(1)rotate(0)}50%{opacity:.6;transform:scale(.55)rotate(45deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sway{0%,to{transform:rotate(4deg)}50%{transform:rotate(1.5deg)translateY(-2px)}}@keyframes sway-l{0%,to{transform:rotate(-3deg)}50%{transform:rotate(-1deg)translateY(-2px)}}@keyframes wander1{0%,to{transform:translate(0)}22%{transform:translate(70px,110px)}48%{transform:translate(10px,250px)}74%{transform:translate(90px,170px)}}@keyframes wander2{0%,to{transform:translate(0)}30%{transform:translate(-40px,-120px)}55%{transform:translate(50px,-60px)}80%{transform:translate(-10px,90px)}}.pixel{z-index:36;cursor:pointer;opacity:0;width:60px;transition:opacity .6s,transform .6s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:-6px;right:0;transform:translateY(8px)}.pixel.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.pixel{transition:opacity .2s}}.pixel .px-svg{width:60px;height:auto;display:block;overflow:visible}@media (min-width:900px) and (hover:hover) and (pointer:fine){.pixel{width:72px;position:fixed;bottom:24px;right:28px}.pixel .px-svg{width:72px}}@media (min-width:1200px) and (hover:hover) and (pointer:fine){.pixel{right:268px}html[data-inspect=off] .pixel{right:28px}}.px-bubble{background:var(--surface);border:1px solid var(--hair-2);width:max-content;max-width:190px;font:500 13px/1.35 var(--font);color:var(--ink);opacity:0;transform-origin:100% 100%;pointer-events:none;border-radius:12px 12px 4px;padding:9px 12px 10px;transition:opacity .25s,transform .25s;position:absolute;bottom:calc(100% + 6px);right:6px;transform:translateY(6px)scale(.96);box-shadow:0 6px 18px #00000012}.px-bubble.on{opacity:1;transform:none}@media (max-width:899px),(hover:none){.pixel{right:14px;bottom:calc(78px + env(safe-area-inset-bottom,0px));width:56px;position:fixed}.pixel .px-svg{width:56px}.px-bubble{border-radius:12px 12px 4px;max-width:170px;font-size:12px;bottom:14px;right:calc(100% + 4px)}}@media (min-width:900px) and (hover:hover) and (pointer:fine){.px-bubble{max-width:190px}}.pixel .px-svg{transition:transform .8s cubic-bezier(.3,1.1,.4,1)}.px-eyes{transition:transform .55s}.px-bulb{transition:opacity .9s}.px-smile{transition:opacity .2s}.px-yawn{transform-box:fill-box;transform-origin:50%;opacity:0;transition:opacity .25s;transform:scaleY(.06)}.pixel.yawn .px-smile{opacity:0}.pixel.yawn .px-yawn{opacity:1;transition:opacity .25s,transform 1s ease-in-out;transform:scaleY(1)}.pixel.yawn .px-eyes{transform:scaleY(.4)}.pixel.sleep .px-eyes{transform:scaleY(.1);animation:none!important}.pixel.sleep .px-bulb{opacity:.22;animation:none!important}.pixel.sleep .px-svg{transform:rotate(4deg)translateY(3px)}.pixel.sleep .px-pupils{opacity:0}.px-zzz text{transform-box:fill-box;transform-origin:50%;opacity:0}.pixel.sleep .px-zzz text{opacity:.9}@media (prefers-reduced-motion:no-preference){.pixel.yawn .px-svg{animation:2.7s ease-in-out px-stretch}.pixel.sleep .px-body{animation-duration:6.5s}.pixel.sleep .px-zzz text{animation:3.2s ease-in-out infinite px-z}.pixel.sleep .px-zzz text:nth-child(2){animation-delay:1s}.pixel.sleep .px-zzz text:nth-child(3){animation-delay:2s}.pixel.waking .px-arm-r{animation:.5s ease-in-out 3 px-wave}}@keyframes px-stretch{0%,to{transform:translateY(0)scale(1)}45%,65%{transform:translateY(-4px)scale(1.04,1.07)}}@keyframes px-z{0%{opacity:0;transform:translate(-3px,5px)scale(.6)}30%{opacity:.9}to{opacity:0;transform:translate(5px,-12px)scale(1.1)}}.px-grin{display:none}.pixel.happy .px-grin{display:block}.pixel.happy .px-smile{display:none}.px-eyes,.px-arm-r,.px-body,.px-bulb{transform-box:fill-box}.px-eyes{transform-origin:50%}.px-arm-r{transform-origin:0 0}@media (prefers-reduced-motion:no-preference){.px-body{animation:3.2s ease-in-out infinite px-bob}.px-eyes{animation:4.6s infinite px-blink}.px-bulb{animation:2.4s ease-in-out infinite px-glow}.pixel:hover .px-arm-r,.pixel.wave .px-arm-r{animation:.5s ease-in-out 3 px-wave}.pixel.jump .px-svg{animation:.5s cubic-bezier(.3,.6,.3,1) px-jump}}@keyframes px-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}@keyframes px-blink{0%,93%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes px-glow{0%,to{opacity:1}50%{opacity:.55}}@keyframes px-wave{0%,to{transform:rotate(0)}50%{transform:rotate(-35deg)}}@keyframes px-jump{0%,to{transform:translateY(0)}40%{transform:translateY(-14px)rotate(-4deg)}}html.fx,html.fx *{cursor:none!important}.cursor{z-index:50;pointer-events:none;opacity:0;will-change:transform;transition:opacity .2s;position:fixed;top:0;left:0}.cursor.on{opacity:1}.cursor svg{transform-origin:2px 2px;transition:transform .12s;display:block}.cursor.down svg{transform:scale(.86)}.tag{background:var(--you);color:#fff;font:500 12px/1 var(--font);white-space:nowrap;border-radius:3px 10px 10px;padding:5px 8px 6px;transition:background-color .2s;position:absolute;top:17px;left:15px}.arrow{fill:var(--you);transition:fill .2s}.cursor[data-mode=sel] .tag{background:var(--sel)}.cursor[data-mode=sel] .arrow{fill:var(--sel)}.cursor[data-mode=comp] .tag{background:#9747ff}.cursor[data-mode=comp] .arrow{fill:#9747ff}.shape{pointer-events:none;z-index:40;width:26px;height:26px;margin:-13px 0 0 -13px;position:fixed;top:0;left:0}.shape svg{width:100%;height:100%;display:block}@media (prefers-reduced-motion:no-preference){.reveal{animation:.7s cubic-bezier(.2,.7,.2,1) both rise}.reveal:nth-child(2){animation-delay:60ms}.reveal:nth-child(3){animation-delay:.11s}.reveal:nth-child(4){animation-delay:.16s}.reveal:nth-child(5){animation-delay:.22s}.hero .sel-box{animation:.5s cubic-bezier(.2,.7,.2,1) .55s both draw}.hero .handle,.hero .dims{animation:.3s ease-out .85s both pop}}@media (prefers-reduced-motion:reduce){.key,.cursor svg{transition:none}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes draw{0%{clip-path:inset(0 100% 100% 0)}to{clip-path:inset(-6px)}}@keyframes pop{0%{opacity:0;transform:scale(.4)}}.hero .dims{animation-name:popd}@keyframes popd{0%{opacity:0;transform:translate(-50%,-4px)}}.cases.sd{padding-top:0}.sd-frame{width:min(calc(100vw - 2*var(--cc-pad)),var(--cc-w));margin:3.5rem auto 0}.fr-body.sd-board{padding:.75rem;position:relative}.sd-collage{--sd-h:clamp(220px,32vw,340px);overscroll-behavior-x:contain;cursor:grab;scrollbar-width:thin;scrollbar-color:var(--line) transparent;-webkit-overflow-scrolling:touch;margin:-.6rem -.75rem;padding:.6rem .75rem;overflow:auto hidden}.sd-collage.is-loop{scrollbar-width:none}.sd-collage.is-loop::-webkit-scrollbar{display:none}.sd-collage.is-drag{cursor:grabbing;-webkit-user-select:none;user-select:none}.sd-collage.is-drag .sd-open{cursor:grabbing}.sd-collage:focus{outline:none}.sd-row{width:max-content;height:var(--sd-h);gap:.75rem;display:flex}.sd-tile{height:100%;aspect-ratio:var(--ar);background:var(--img-bg);box-shadow:0 0 0 1px var(--hair);border-radius:10px;flex:none;margin:0;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;position:relative;overflow:hidden}.sd-tile:hover,.sd-tile:focus-within{box-shadow:0 0 0 1px var(--hair),0 16px 32px -16px #00000059;transform:translateY(-3px)}.sd-open{width:100%;height:100%;color:inherit;font:inherit;cursor:zoom-in;border-radius:inherit;background:0 0;border:0;margin:0;padding:0;display:block;position:relative}.sd-open:focus-visible{outline:2px solid var(--sel);outline-offset:-2px}.sd-open img{object-fit:cover;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1);display:block}.sd-tile:hover .sd-open img,.sd-open:focus-visible img{transform:scale(1.035)}.sd-chip{background:var(--surface);max-width:calc(100% - 1.2rem);color:var(--ink);box-shadow:0 0 0 1px var(--hair),0 6px 16px -8px #0000004d;font:500 .75rem/1 var(--font);white-space:nowrap;text-overflow:ellipsis;opacity:0;border-radius:999px;padding:.4rem .7rem;transition:opacity .25s,transform .25s;position:absolute;bottom:.6rem;left:.6rem;overflow:hidden;transform:translateY(6px)}.sd-exp{background:var(--surface);width:30px;height:30px;color:var(--ink);box-shadow:0 0 0 1px var(--hair),0 6px 16px -8px #0000004d;opacity:0;border-radius:50%;place-items:center;transition:opacity .25s,transform .25s;display:grid;position:absolute;top:.6rem;right:.6rem;transform:scale(.85)}.sd-tile:hover .sd-chip,.sd-tile:hover .sd-exp,.sd-open:focus-visible .sd-chip,.sd-open:focus-visible .sd-exp{opacity:1;transform:none}@media (hover:none){.sd-chip,.sd-exp{opacity:1;transform:none}}.sd-arrow{z-index:2;background:var(--surface);width:44px;height:44px;color:var(--ink);box-shadow:0 0 0 1px var(--hair),0 10px 24px -10px #0006;cursor:pointer;border:0;border-radius:50%;place-items:center;margin-top:-22px;padding:0;transition:transform .2s,background .2s;display:grid;position:absolute;top:50%}.sd-arrow[hidden]{display:none}.sd-arrow:hover{background:var(--sel);color:#fff;transform:scale(1.06)}.sd-arrow:focus-visible{outline:2px solid var(--sel);outline-offset:2px}.sd-arrow-l{left:1.25rem}.sd-arrow-r{right:1.25rem}@media (hover:none){.sd-arrow{display:none}}.sd-view{z-index:45;opacity:0;background:#0e0e10f0;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.sd-view[hidden]{display:none}.sd-view:not(.open){pointer-events:none}.sd-view.open{opacity:1}.sd-view-stage{overscroll-behavior:contain;display:flex;position:absolute;inset:3.75rem 4.75rem 4.75rem;overflow:auto}.sd-view-img{width:var(--fw,auto);height:var(--fh,auto);cursor:zoom-in;background:var(--img-bg);opacity:0;border-radius:8px;flex:none;margin:auto;transition:opacity .25s,transform .3s cubic-bezier(.2,.7,.2,1);display:block;transform:scale(.97);box-shadow:0 20px 60px -20px #0009}.sd-view.open .sd-view-img.ready{opacity:1;transform:none}.sd-view.zoom .sd-view-img{width:var(--nw);height:var(--nh);cursor:zoom-out}.sd-btn{color:#fff;cursor:pointer;z-index:1;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;transition:background .15s,border-color .15s;display:grid;position:absolute}.sd-btn:hover{background:#ffffff2e;border-color:#ffffff59}.sd-btn:focus-visible{outline:2px solid var(--sel);outline-offset:2px}.sd-close{top:1rem;right:1rem}.sd-nav{margin-top:-22px;top:50%}.sd-prev{left:1rem}.sd-next{right:1rem}.sd-view-cap{color:#fff9;max-width:calc(100vw - 2rem);font:500 .8125rem/1 var(--font);font-variant-numeric:tabular-nums;white-space:nowrap;background:#ffffff1a;border-radius:999px;align-items:center;gap:.6rem;margin:0;padding:.55rem 1rem;display:flex;position:absolute;bottom:1.1rem;left:50%;transform:translate(-50%)}.sd-view-cap #sd-view-n{color:#fff;font-weight:600}.sd-view-cap b{color:#fff;text-overflow:ellipsis;border-left:1px solid #fff3;padding-left:.7rem;font-weight:500;overflow:hidden}.sd-view-cap em{border-left:1px solid #fff3;padding-left:.7rem;font-style:normal}html.sd-locked body{overflow:hidden}@media (max-width:640px){.sd-view-stage{inset:3.5rem .75rem 4.5rem}.sd-nav{margin:0;top:auto;bottom:.9rem}.sd-prev{left:.75rem}.sd-next{right:.75rem}.sd-view-cap em{display:none}}@media (prefers-reduced-motion:reduce){.sd-tile,.sd-open img,.sd-chip,.sd-exp,.sd-view,.sd-view-img,.sd-arrow{transition:none}}
