*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{overflow-x:clip}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100vh;margin:0}img,svg,canvas,video{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit}h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}:focus-visible{outline-offset:3px;outline:2px solid}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}html.is-thumb *,html.is-thumb :before,html.is-thumb :after{transition:none!important;animation-delay:-30s!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--paper:#fdfdfb;--room:#eeede9;--ink:#141417;--soft:#5b5b62;--faint:#a9a8a2;--ghost:#d9d6ce;--line:#14141724;--blue:#2f45d8;--gutter:clamp(20px, 3.6vw, 52px);--serif:"Bespoke Serif", Georgia, serif;--sans:"General Sans", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--t-mega:clamp(64px, 11vw, 178px);--t-display:clamp(48px, 7.4vw, 120px);--t-h1:clamp(36px, 4.6vw, 74px);--t-h2:clamp(28px, 3vw, 46px);--t-h3:clamp(21px, 1.75vw, 27px);--t-body:16px;--t-small:13px;--ed-1:#2f45d8;--ed-2:#e0a63a;--ed-3:#1f7a5c;--ed-4:#c8442f;--ed-5:#141417}.vp{color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:1.55;position:relative}.vp-serif{font-family:var(--serif);letter-spacing:-.035em;font-weight:300;line-height:.95}.vp-body{font-size:var(--t-body);color:var(--soft);max-width:44ch;line-height:1.6}.vp-small{font-size:var(--t-small);color:var(--soft);line-height:1.5}.vp-link{color:var(--ink);text-underline-offset:6px;align-items:center;gap:10px;font-size:15px;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.vp-link:hover{-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue);color:var(--blue)}.vp-btn{background:var(--ink);color:#fff;border-radius:999px;padding:14px 22px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.vp-btn:hover{background:var(--blue)}.vp-after{background:var(--room);border-top:1px solid var(--line);height:60vh}.vp-screen{transform-origin:0 0;background:var(--paper);width:1440px;height:900px;position:absolute;top:0;left:0;overflow:hidden}.vp-screen>canvas{width:100%;height:100%;position:absolute;inset:0}.vp-site-top{z-index:2;align-items:center;padding:26px 52px;display:flex;position:absolute;top:0;left:0;right:0}.vp-site-brand svg{width:auto;height:56px}.vp-site-nav{gap:30px;margin-left:auto;font-size:15px;font-weight:500;display:flex}.vp-site-head{z-index:1;font-family:var(--serif);letter-spacing:-.045em;font-size:158px;font-weight:300;line-height:.88;position:absolute;top:50%;left:52px;transform:translateY(-50%)}.vp-site-head span{width:fit-content;display:block}.vp-site-head span+span{margin-left:.9em;font-style:italic}.vp-site-foot{z-index:1;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:40px;left:52px;right:52px}.vp-site-foot p{max-width:30ch;color:var(--soft);font-size:15px;line-height:1.5}.vp-site-cta{background:var(--ink);color:#fff;border-radius:999px;padding:16px 26px;font-size:16px;font-weight:500;display:inline-flex}.svc{color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:1.55;position:relative}.svc-more{color:var(--ink);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;align-items:center;gap:.6em;padding-bottom:3px;font-size:15px;font-weight:500;text-decoration:none;transition:background-size .45s cubic-bezier(.2,.7,.2,1),color .3s;display:inline-flex}.svc-more:after{content:"";border-top:1.5px solid;border-right:1.5px solid;width:.5em;height:.5em;transition:transform .35s cubic-bezier(.2,.7,.2,1);transform:rotate(45deg)translate(-1px,1px)}.svc-more:hover{color:var(--blue);background-position:100% 100%;background-size:0 1px}.svc-more:hover:after{transform:rotate(45deg)translate(2px,-2px)}.svc-after{background:var(--room);border-top:1px solid var(--line);height:50vh}.tm{color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:1.55;position:relative}.tm img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.tm-role{color:var(--soft);font-size:14px;font-weight:500}.tm-after{background:var(--room);border-top:1px solid var(--line);height:50vh}.ts{color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:1.55;position:relative}.ts img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ts-ph{font:500 11px/1.4 var(--sans);letter-spacing:0;color:#a1561c;white-space:nowrap;vertical-align:middle;border:1px dashed;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-style:normal;display:inline-flex}.ts-ph:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.ts-note{max-width:62ch;color:var(--soft);align-items:baseline;gap:10px;font-size:12.5px;line-height:1.5;display:flex}.ts-note .ts-ph{flex:none}.ts-after{background:var(--room);border-top:1px solid var(--line);height:50vh}.has-nav .es-nav{display:none}.nv{z-index:1000;font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;position:relative}.nv a{color:inherit;text-decoration:none}.nv button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.nv :focus-visible{outline:2px solid var(--blue,#2f45d8);outline-offset:3px;border-radius:3px}.nv-dock{will-change:transform;transition:transform .7s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;left:0}.nv-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nv-veil{z-index:2000;pointer-events:none;position:fixed;inset:0}.nv-veil.fade{background:var(--c);opacity:0;animation:.6s forwards nv-fade}@keyframes nv-fade{to{opacity:1}}@media (prefers-reduced-motion:reduce){.nv-dock{transition:none}}.nv-measure,.nv-measure *{transition:none!important}.nv-own-cursor,.nv-own-cursor *{cursor:none!important}.r9-cur{z-index:3000;pointer-events:none;opacity:0;transition:opacity .2s;position:fixed;top:0;left:0}.r9-cur.seen{opacity:1}.r9-ico{filter:drop-shadow(0 1.5px 2px #14141740);transform-origin:3px 2px;width:24px;max-width:none;height:24px;transition:scale .35s cubic-bezier(.3,1.5,.5,1);position:absolute;top:-2px;left:-3px;overflow:visible}.r9-ico.swap{animation:.32s cubic-bezier(.3,1.4,.5,1) r9-swap}@keyframes r9-swap{0%{opacity:.2;scale:.6}}.r9-ico .f{fill:#2f45d8;stroke:#fff;stroke-width:1.5px;stroke-linejoin:round}.r9-ico .s{fill:none;stroke:#2f45d8;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}[data-shape=brush] .r9-ico{transform-origin:3px 21px;top:-21px;left:-3px}[data-shape=brush] .r9-ico .f{fill:var(--ed-1,#2f45d8)}[data-shape=move] .r9-ico,[data-shape=text] .r9-ico,[data-shape=grab] .r9-ico,[data-shape=torch] .r9-ico{transform-origin:12px 12px;top:-12px;left:-12px}[data-shape=link] .r9-ico{top:-3px;left:-9px}[data-shape=torch] .r9-ico .f{fill:#fff8e6;stroke:none}.r9-cur.pressing .r9-ico{scale:.86}.r9-ring{opacity:0;width:60px;max-width:none;height:60px;transition:opacity .22s,transform .4s cubic-bezier(.2,.9,.2,1);position:absolute;top:-30px;left:-30px;overflow:visible;transform:rotate(-90deg)scale(.7)}.r9-ring circle{fill:none;stroke-width:2.5px}.r9-ring .bg{stroke:#2f45d824}.r9-ring .fg{stroke:#2f45d8;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1px}.r9-cur.holding .r9-ring,.r9-cur.hinting .r9-ring{opacity:1;transform:rotate(-90deg)scale(1)}.r9-cur.hinting:not(.holding):not(.demo) .r9-ring .fg{transition:stroke-dashoffset .9s cubic-bezier(.2,.9,.2,1)}.r9-wheel.ghost{opacity:.92}.r9-wheel.ghost,.r9-wheel.ghost *{pointer-events:none!important}.r9-cur.hinting .r9-tag{padding:5px 12px 5px 10px;font-size:13px}.r9-tag{color:#fff;font:500 12px/1.2 var(--sans);white-space:nowrap;background:#2f45d8;border-radius:3px 999px 999px;align-items:center;padding:4px 10px 4px 9px;transition:opacity .2s,translate .35s cubic-bezier(.2,.9,.2,1);display:inline-flex;position:absolute;top:18px;left:16px;overflow:hidden;box-shadow:0 4px 12px -2px #14141740}.r9-tag b{font-weight:500}.r9-tool,.r9-say{opacity:.82;border-left:1px solid #ffffff59;max-width:220px;margin-left:7px;padding-left:7px;transition:max-width .5s cubic-bezier(.2,.9,.2,1),opacity .3s,margin .5s,padding .5s;display:inline-block;overflow:hidden}.r9-say,.r9-cur.saying .r9-tool{opacity:0;border-left-width:0;max-width:0;margin-left:0;padding-left:0}.r9-cur.saying .r9-say{opacity:1;border-left-width:1px;max-width:280px;margin-left:7px;padding-left:7px}.r9-cur.holding .r9-tag,.r9-cur.open .r9-tag,.r9-cur.over:not(.saying) .r9-tag{opacity:0;translate:-4px 2px}.r9-wheel{--p:0;z-index:2400;visibility:hidden;width:0;height:0;position:fixed;top:50%;left:50%}.r9-wheel.rising,.r9-wheel.on{visibility:visible}.r9-spoke{width:400px;max-width:none;height:400px;opacity:calc(var(--p) * 1);position:absolute;top:-200px;left:-200px;overflow:visible}.r9-spoke line{stroke:#2f45d88c;stroke-width:1.5px;stroke-linecap:round;transition:x2 .12s,y2 .12s;transform:translate(200px,200px)}.r9-spoke circle{fill:#2f45d8;transform:translate(200px, 200px) scale(calc(.4 + var(--p) * .6))}.r9-pt{white-space:nowrap;font-family:var(--serif);letter-spacing:-.02em;pointer-events:none;opacity:calc(var(--p) * 1.4 - .1);transform:translate(-50%, -50%) translate(calc(var(--x) * (.35 + var(--p) * .65)), calc(var(--y) * (.35 + var(--p) * .65))) scale(calc(.55 + var(--p) * .45));background:#fdfdfb;border-radius:999px;padding:10px 18px 11px;font-size:24px;font-weight:300;line-height:1;text-decoration:none;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #1414171a,0 14px 30px -14px #14141780;color:#141417!important}.r9-wheel.on .r9-pt{pointer-events:auto;transition:transform .55s cubic-bezier(.2,1.3,.35,1),opacity .3s,background .2s,color .2s,box-shadow .2s;transition-delay:calc(var(--i) * 18ms), calc(var(--i) * 18ms), 0s, 0s, 0s}.r9-wheel.sinking .r9-pt{transition:transform .32s cubic-bezier(.5,0,.7,.4),opacity .25s}.r9-wheel.chosen .r9-pt:not(.on){opacity:.55}.r9-pt.on,.r9-pt:hover,.r9-pt:focus-visible{background:#2f45d8;outline:none;box-shadow:0 0 0 1px #2f45d8,0 16px 30px -12px #2f45d899;color:#fff!important}.r9-wheel.going .r9-pt:not(.picked),.r9-wheel.going .r9-x,.r9-wheel.going .r9-spoke{opacity:0;transition:opacity .2s}.r9-x{opacity:0;pointer-events:none;background:#fff;border-radius:50%;width:34px;height:34px;transition:opacity .2s;position:absolute;top:0;left:0;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #1414171f;font-size:18px!important}.r9-wheel.on .r9-x{opacity:1;pointer-events:auto;transition-delay:.25s}.r9-wheel.on.chosen .r9-x{opacity:0}.nv-veil.r9-open{clip-path:inset(var(--t) var(--r) var(--b) var(--l) round var(--rad,999px));background:#fdfdfb;transition:clip-path .62s cubic-bezier(.7,0,.2,1)}.nv-veil.r9-open.go{clip-path:inset(0)}.nv .r9-key{width:96px;height:50px;display:block;position:relative}.r9-kico{filter:drop-shadow(0 1.5px 2px #14141740);width:24px;max-width:none;height:24px;position:absolute;top:2px;left:2px;overflow:visible}.r9-kico .f{fill:#2f45d8;stroke:#fff;stroke-width:1.5px;stroke-linejoin:round}.r9-ktag{color:#fff;font:500 13px var(--sans);white-space:nowrap;background:#2f45d8;border-radius:3px 999px 999px;padding:5px 12px;transition:transform .3s cubic-bezier(.3,1.4,.5,1);display:grid;position:absolute;top:20px;left:20px;box-shadow:0 4px 12px -2px #14141740}.r9-ktag b,.r9-ktag i{grid-area:1/1;font-style:normal;font-weight:500;transition:opacity .25s,translate .35s cubic-bezier(.2,.9,.2,1)}.r9-ktag i{opacity:0;translate:0 6px}.r9-key:hover .r9-ktag,.r9-key[aria-expanded=true] .r9-ktag{transform:translate(3px,2px)}.nv-own-cursor .r9-dock:not(.r9-keyed):has(.r9-key:not(:focus-visible)){pointer-events:none}.nv-own-cursor .r9-dock:not(.r9-keyed) .r9-key:not(:focus-visible){opacity:0}@media (width<=860px){.r9-pt{padding:8px 14px 9px;font-size:19px}}.nv.touch .r9-ktag i{display:none}.nv.touch .r9-key{width:108px;height:60px}.nv.touch .r9-kico{width:26px;height:26px}.nv.touch .r9-ktag{letter-spacing:.005em;padding:10px 20px 11px;font-size:15px;top:19px;left:20px;box-shadow:0 10px 24px -8px #14141773}@media (prefers-reduced-motion:reduce){.r9-ring,.r9-tag,.r9-tool,.r9-say,.r9-ico,.r9-wheel.on .r9-pt,.r9-wheel.sinking .r9-pt,.nv-veil.r9-open{transition:none!important}.r9-ico.swap{animation:none}}.r9-keyed .r9-key:hover .r9-ktag b{opacity:0;translate:0 -6px}.r9-keyed .r9-key:hover .r9-ktag i{opacity:1;translate:0}.ln-disc{left:calc(var(--R) * -1);top:calc(var(--R) * -1);width:calc(var(--R) * 2);height:calc(var(--R) * 2);-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);opacity:calc(var(--p) * 1.2);transform:scale(calc(.16 + var(--p) * .84));background:#fdfdfb9e;border-radius:50%;position:absolute;box-shadow:inset 0 0 0 1px #ffffffb3,0 0 0 1px #14141714,0 30px 70px -30px #14141773}.r9-wheel.on .ln-disc{transition:transform .55s cubic-bezier(.2,1.15,.35,1),opacity .3s}.r9-wheel.sinking .ln-disc{transition:transform .32s cubic-bezier(.5,0,.7,.4),opacity .25s}.ln-wedge{width:100%;max-width:none;height:100%;position:absolute;inset:0}.ln-wedge path{fill:#2f45d81a;stroke:#2f45d859;stroke-width:1px;vector-effect:non-scaling-stroke;transition:d .25s cubic-bezier(.2,.9,.2,1)}.ln-say{width:calc(var(--R) * .62);text-align:center;font:400 12px/1.3 var(--sans);color:var(--soft,#6b6b70);opacity:calc(var(--p) * 2 - 1);margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.r9-look-lens .r9-spoke,.r9-look-lens .r9-x{display:none}.r9-look-lens .r9-pt{box-shadow:none;background:0 0;border-radius:0;padding:6px 8px;font-size:clamp(19px,1.6vw,23px);color:#141417db!important}.r9-look-lens .r9-wheel.chosen .r9-pt:not(.on){opacity:.4}.r9-look-lens .r9-pt.on,.r9-look-lens .r9-pt:hover,.r9-look-lens .r9-pt:focus-visible{box-shadow:none;background:0 0;color:#2f45d8!important}@media (width<=860px){.r9-look-lens .r9-pt{font-size:16px}}
