:root{--ink:#414141;--paper:#fff;--sheet:#fff;--tile:#f4f2ed;--line-blue:#4076a838;--blue:#4076a8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Switzer Variable,Switzer,system-ui,sans-serif}a{color:#2f6fb0;text-decoration:none}a:hover{color:#1d4d80}button{font-family:inherit}::view-transition-old(root){animation-duration:.42s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-new(root){animation-duration:.42s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(root){animation-name:pp-vt-out}::view-transition-new(root){animation-name:pp-vt-in}::view-transition-group(pp-hero){animation-duration:.55s;animation-timing-function:cubic-bezier(.22,1,.36,1)}@keyframes pp-vt-out{to{opacity:0;transform:scale(.98)}}@keyframes pp-vt-in{0%{opacity:0;transform:scale(1.02)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.site-nav{z-index:100;white-space:nowrap;view-transition-name:site-nav;justify-content:center;align-items:center;gap:24px;max-width:calc(100vw - 32px);transition:opacity .3s,transform .3s;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.site-nav.is-hidden{opacity:0;pointer-events:none;transform:translate(-50%,-8px)}.site-nav-link{letter-spacing:-.04em;color:#414141;font-size:16px;line-height:normal;text-decoration:none;transition:color .2s;position:relative}.site-nav-link:hover,.site-nav-link:focus-visible{color:#787878}.site-nav-link:after{content:"";clip-path:inset(0 100% 0 0);pointer-events:none;background:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%208%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22g%22%20x%3D%22-5%25%22%20y%3D%22-50%25%22%20width%3D%22110%25%22%20height%3D%22200%25%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.9%22%20numOctaves%3D%222%22%20seed%3D%224%22%20result%3D%22n%22/%3E%3CfeDisplacementMap%20in%3D%22SourceGraphic%22%20in2%3D%22n%22%20scale%3D%220.8%22/%3E%3C/filter%3E%3C/defs%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23ACDAE2%22%20stroke-linecap%3D%22round%22%20filter%3D%22url%28%23g%29%22%3E%3Cpath%20d%3D%22M1%204.3C30%204%2070%204.6%2099%204%22%20stroke-width%3D%221.5%22%20opacity%3D%22.9%22/%3E%3Cpath%20d%3D%22M3%205.1C35%204.9%2070%205.3%2097%204.9%22%20stroke-width%3D%22.8%22%20opacity%3D%22.6%22/%3E%3C/g%3E%3C/svg%3E) 0/100% 100% no-repeat;height:8px;transition:clip-path .4s cubic-bezier(.3,.6,.3,1);position:absolute;bottom:-6px;left:-2px;right:-2px}.site-nav-link.active:after,.site-nav-link.is-open:after{clip-path:inset(0)}@media (prefers-reduced-motion:reduce){.site-nav-link:after{transition:none}}.site-nav-divider{flex:none;width:5px;height:15px;position:relative}.site-nav-divider img{max-width:none;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width<=480px){.site-nav{gap:14px}.site-nav-link{font-size:14px}}::view-transition-group(site-nav){animation:none}::view-transition-old(site-nav){animation:none}::view-transition-new(site-nav){animation:none}::view-transition-old(site-nav){display:none}.site-nav-contact{position:relative}.site-nav-contact-button{cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.site-nav-menu{opacity:0;pointer-events:none;flex-direction:column;gap:4px;padding-top:14px;transition:opacity .2s;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%)}.site-nav-contact.is-open .site-nav-menu{opacity:1;pointer-events:auto}.site-nav-option{cursor:pointer;color:#414141;opacity:0;background:0 0;border:0;align-items:center;gap:10px;width:max-content;margin:0;padding:0;font-family:inherit;transition:opacity .2s,transform .2s;display:flex;transform:translateY(-10px)scale(.85)}.site-nav-contact.is-open .site-nav-option{opacity:1;transition:opacity .3s ease calc(var(--i) * 60ms), transform .45s cubic-bezier(.2, 1.2, .3, 1) calc(var(--i) * 60ms);transform:none}.site-nav-sticker{transform:rotate(var(--rot));filter:drop-shadow(0 2px 3px #1c1b194d);transition:transform .3s cubic-bezier(.2,1.2,.3,1);display:block}.site-nav-option:hover .site-nav-sticker,.site-nav-option:focus-visible .site-nav-sticker{transform:rotate(calc(var(--rot) * .4)) scale(1.1)}.site-nav-option-label{letter-spacing:-.04em;white-space:nowrap;color:#414141;background:#fff;padding:3px 8px;font-size:16px;line-height:1.05;box-shadow:0 1px 4px -2px #00000040}@media (width<=520px){.site-nav-menu{align-items:flex-end;left:auto;right:0;transform:none}.site-nav-option{flex-direction:row-reverse}}@media (prefers-reduced-motion:reduce){.site-nav-menu,.site-nav-option,.site-nav-contact.is-open .site-nav-option,.site-nav-sticker{transition:none}}.hs-wrapper{flex:none;position:relative}.hs-canvas{transform-origin:0 0;position:relative}.hs-intro{position:absolute;top:-6px;left:-4px}.hs-top{width:100%;height:0;position:absolute;top:0;left:0}.hs-top.is-out{opacity:0;pointer-events:none;transition:opacity .3s}.hs-top.is-in [data-enter]{animation:.55s cubic-bezier(.16,1,.3,1) backwards hs-enter;animation-delay:calc(var(--i,0) * 90ms)}@keyframes hs-enter{0%{opacity:0;transform:translateY(14px)}}@media (prefers-reduced-motion:reduce){.hs-top.is-out{transition:none}.hs-top.is-in [data-enter]{animation:none}}.hs-nav{position:absolute;top:80px;left:426px}.hs-desk{position:absolute;top:284px;left:147px}.home-hero{box-sizing:border-box;isolation:isolate;background:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:112px 16px 24px;display:flex;position:relative;overflow-x:clip}.home-hero-paper{z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.home-hero-top{width:100%}.home-hero--text-above .hs-wrapper{margin-top:calc(var(--hs-scale,1) * -270px)}.home-hero-top.is-out{opacity:0;pointer-events:none;transition:opacity .3s}.home-hero-top.is-in [data-enter]{animation:.55s cubic-bezier(.16,1,.3,1) backwards hs-enter;animation-delay:calc(var(--i,0) * 90ms)}@media (prefers-reduced-motion:reduce){.home-hero-top.is-out{transition:none}.home-hero-top.is-in [data-enter]{animation:none}}.home-stack{flex-direction:column;gap:clamp(24px,4vw,48px);padding-bottom:24px;display:flex}html.page-leaving .hs-wrapper,html.page-leaving .home-hero-top{opacity:0;pointer-events:none;transition:opacity .3s}@media (prefers-reduced-motion:reduce){html.page-leaving .hs-wrapper,html.page-leaving .home-hero-top{transition:none}}.paper-overlay{pointer-events:none;mix-blend-mode:multiply;position:absolute;inset:0}.wtb-root{z-index:1;clip-path:inset(0 0 -20px);height:42px;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 3px 4px #00000040}.wtb-btn{pointer-events:none;width:27px;height:25px;position:absolute;top:9px}.wtb-btn--icon{justify-content:center;align-items:center;display:flex;overflow:visible}.wtb-btn--icon img{max-width:none;display:block}.wtb-btn--icon .wtb-btn-paper-layer--icon{top:-2px;bottom:2px}.wtb-btn--close{background:#ff8383;justify-content:center;align-items:center;display:flex;top:7px;box-shadow:0 2px 4.4px #00000082}.window-root{font-family:Switzer Variable,Switzer,system-ui,sans-serif;position:relative;overflow:hidden;box-shadow:.5px 4px 5px #29292959}.window-body{box-sizing:border-box;background:#fff;position:absolute;inset:42px 0 0;box-shadow:0 0 2px #0000}.window-paper-layer{pointer-events:none;mix-blend-mode:multiply;inset:0;width:100%!important;height:100%!important;position:absolute!important}.window-root--auto .window-body{margin-top:42px;position:relative;top:auto;bottom:auto;right:auto}.iw-window{height:auto!important}.iw-window .window-body{margin-top:42px;position:static}.iw-heading{font-weight:400;font-size:min(40px, calc(2.25rem / var(--hs-scale,1)));letter-spacing:-.04em;color:#414141;margin:0;line-height:1.05}.iw-text{max-width:351px;font-weight:400;font-size:min(20px, calc(1.125rem / var(--hs-scale,1)));letter-spacing:-.04em;color:#414141;margin:12px 0 0;line-height:1.3}.nf-folder{transform-origin:0 0;z-index:5;cursor:pointer;width:67px;height:68.199px;transition:opacity .3s;position:absolute;top:0;left:0}.nf-window{overflow:visible}.nf-window .wtb-root{transition:opacity .3s}.nf-window--dim .wtb-root{opacity:.5}@media (prefers-reduced-motion:reduce){.nf-window .wtb-root{transition:none}}.nf-hover-bridge{transform-origin:50% 100%;z-index:0;position:absolute;transform:translate(-50%)rotate(-3.5deg)}.nf-folder{--nf-open-tilt:-5deg}.nf-folder-back,.nf-folder-front{transform-origin:33.5px 68.199px;width:67px;height:68.199px;transition:transform .45s cubic-bezier(.2,1.05,.3,1);position:absolute;top:0;left:0}.nf-folder-back svg,.nf-folder-front svg{display:block;overflow:visible}.nf-folder-back{z-index:1}.nf-folder-back path{fill:#ec87c4}.nf-folder-back svg{filter:drop-shadow(0 2px 3px #1c1b1933)}.nf-folder-front{z-index:3;pointer-events:none}.nf-folder-front path{fill:#ffaee1}.nf-folder-front svg{filter:drop-shadow(0 -1px 1.5px #5a1e642e)}.nf-folder.is-open .nf-folder-back{transform:rotate(var(--nf-open-tilt))}.nf-folder.is-open .nf-folder-front{transform:rotate(var(--nf-open-tilt)) scaleY(.9)}@media (prefers-reduced-motion:reduce){.nf-folder-back,.nf-folder-front{transition:none}}.nf-page{transform-origin:50% 100%;background:#fff;width:58px;height:57px;transition:transform .45s cubic-bezier(.2,1.05,.3,1),box-shadow .45s;display:block;position:absolute;top:8.949px;left:4.5px;box-shadow:0 1px 4px -1px #0006}.nf-page:hover{box-shadow:0 8px 18px -5px #00000073}.nf-page-thumb{object-fit:cover;width:calc(100% - 8px);height:calc(100% - 8px);display:block;position:absolute;inset:4px}.nf-label{z-index:10;pointer-events:none;text-align:center;width:max-content;max-width:96px;font-size:min(18px, calc(1rem / var(--hs-scale,1)));letter-spacing:-.04em;color:#353535;transform-origin:50% 0;background:#fff;padding:3px 8px;font-weight:400;line-height:1.05;transition:transform .35s cubic-bezier(.2,1.05,.3,1);position:absolute;box-shadow:0 1px 4px -2px #00000040}.nf-contact{z-index:4;transition:opacity .3s;position:absolute}.nf-contact.is-open{z-index:6}.nf-contact-hit{width:calc(100% + 16px);position:absolute;top:-4px;left:-8px}.nf-sticker{z-index:3;cursor:pointer;transition:opacity .2s ease var(--delay);background:0 0;border:0;margin:0;padding:0;font-family:inherit;display:block;position:absolute}.nf-sticker-art{transform:translateY(var(--dy)) scale(.3) rotate(0deg);transform-origin:50%;filter:drop-shadow(0 1px 1px #1c1b1940);transition:transform .35s cubic-bezier(.4,0,.6,1),filter .3s;display:block;position:absolute;inset:0}.nf-contact.is-open .nf-sticker-art{transform:translateY(0) scale(1) rotate(var(--rot));filter:drop-shadow(0 3px 4px #1c1b194d);transition:transform .5s cubic-bezier(.2, 1.2, .3, 1) var(--delay), filter .4s ease var(--delay)}.nf-contact.is-open .nf-sticker:hover .nf-sticker-art,.nf-contact.is-open .nf-sticker:focus-visible .nf-sticker-art{transform:translateY(-2px) scale(1.08) rotate(calc(var(--rot) * .5));filter:drop-shadow(0 6px 6px #1c1b194d);transition-delay:0s}.nf-sticker-art img{width:100%;max-width:none;height:100%;display:block}.nf-sticker-label{left:var(--label-left);font-size:min(18px, calc(1rem / var(--hs-scale,1)));letter-spacing:-.04em;white-space:nowrap;color:#353535;opacity:0;transform-origin:0;background:#fff;padding:3px 8px;font-weight:400;line-height:1.05;transition:opacity .2s,transform .3s cubic-bezier(.2,1.05,.3,1);position:absolute;top:50%;transform:translate(-8px,-50%);box-shadow:0 1px 4px -2px #00000040}.nf-contact.is-open .nf-sticker-label{opacity:1;transition:opacity .3s ease calc(var(--delay) + .12s), transform .4s cubic-bezier(.2, 1.05, .3, 1) calc(var(--delay) + .12s);transform:translateY(-50%)}.nf-contact.is-open .nf-sticker:hover .nf-sticker-label,.nf-contact.is-open .nf-sticker:focus-visible .nf-sticker-label{color:#353535;transition-delay:0s;transform:translateY(-50%)scale(1.08)}.nf-nav.nf-contact-label{background:0 0;border:0;height:20px;padding:0;font-family:inherit}@media (width<=520px){.nf-sticker-label{transform-origin:100%;left:auto;right:calc(100% + 2px);transform:translate(8px,-50%)}.nf-contact.is-open .nf-sticker-label{transform:translateY(-50%)}.nf-contact.is-open .nf-sticker:hover .nf-sticker-label,.nf-contact.is-open .nf-sticker:focus-visible .nf-sticker-label{transform:translateY(-50%)scale(1.08)}.nf-sticker-label:before{left:auto;right:-10px}}.nf-badge{--env-scale:1.3;z-index:2;pointer-events:none;transform:rotate(-2deg) scale(var(--env-scale));transform-origin:50% 100%;transition:transform .45s cubic-bezier(.2,1.05,.3,1);position:absolute;top:-1px;left:0}.nf-badge .nf-env{transform-origin:50% 100%;filter:drop-shadow(0 3.5px 3px #1c1b191c);transition:opacity .25s,transform .45s cubic-bezier(.2,1.05,.3,1),filter .4s;position:absolute;top:auto;bottom:-2px;left:-4px}.nf-badge .nf-env-open{opacity:0;transform:scale(.94)}.nf-contact.is-open .nf-badge{transform:translateY(-2px) rotate(2deg) scale(var(--env-scale))}.nf-contact.is-open .nf-env-closed{opacity:0}.nf-contact.is-open .nf-env-open{opacity:1;filter:drop-shadow(0 6px 6px #1c1b193d);transform:none}@media (prefers-reduced-motion:reduce){.nf-sticker,.nf-sticker-art,.nf-sticker-label,.nf-badge,.nf-badge .nf-env{transition:none!important}}.nf-badge img{max-width:none;display:block}.nf-about-icon{--about-scale:1.1;cursor:pointer;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;overflow:visible}.nf-about-icon .nf-icon{transform:rotate(-1deg) scale(var(--about-scale));transform-origin:50% 100%;filter:drop-shadow(0 2px 3px #1c1b1938);transition:transform .4s cubic-bezier(.2,1.05,.3,1),filter .4s}.nf-about-icon.is-hover .nf-icon{transform:translateY(-7px) rotate(3deg) scale(calc(var(--about-scale) * 1.06));filter:drop-shadow(0 8px 7px #1c1b193d)}@media (prefers-reduced-motion:reduce){.nf-about-icon .nf-icon{transition:none}}.nf-about-icon img{max-width:none;display:block}.nf-nav{text-align:center;width:64px;height:26px;font-size:min(20px, calc(1.125rem / var(--hs-scale,1)));letter-spacing:-.04em;white-space:nowrap;color:#414141;cursor:pointer;font-weight:400;line-height:100%;transition:color .2s,opacity .3s;position:absolute;top:163px}.nf-icon{flex:none;position:relative}.nf-dim{opacity:.25;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.nf-dim{transition:none}}.nf-sticker-label:before{content:"";width:10px;height:100%;position:absolute;top:0;left:-10px}@keyframes nf-wobble{0%,70%,to{transform:rotate(0)}80%{transform:rotate(-2.5deg)}90%{transform:rotate(1.5deg)}}@media (pointer:coarse) and (prefers-reduced-motion:no-preference){.nf-folder:not(.is-open) .nf-folder-back,.nf-folder:not(.is-open) .nf-folder-front,.nf-contact:not(.is-open) .nf-env-closed{animation:3.6s ease-in-out infinite nf-wobble}.nf-nav,.nf-contact-label{-webkit-tap-highlight-color:transparent}}.nf-nav-text{display:inline-block;position:relative}.nf-nav-text:after{content:"";clip-path:inset(0 100% 0 0);pointer-events:none;background:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%208%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22g%22%20x%3D%22-5%25%22%20y%3D%22-50%25%22%20width%3D%22110%25%22%20height%3D%22200%25%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.9%22%20numOctaves%3D%222%22%20seed%3D%224%22%20result%3D%22n%22/%3E%3CfeDisplacementMap%20in%3D%22SourceGraphic%22%20in2%3D%22n%22%20scale%3D%220.8%22/%3E%3C/filter%3E%3C/defs%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23ACDAE2%22%20stroke-linecap%3D%22round%22%20filter%3D%22url%28%23g%29%22%3E%3Cpath%20d%3D%22M1%204.3C30%204%2070%204.6%2099%204%22%20stroke-width%3D%221.5%22%20opacity%3D%22.9%22/%3E%3Cpath%20d%3D%22M3%205.1C35%204.9%2070%205.3%2097%204.9%22%20stroke-width%3D%22.8%22%20opacity%3D%22.6%22/%3E%3C/g%3E%3C/svg%3E) 0/100% 100% no-repeat;height:8px;transition:clip-path .4s cubic-bezier(.3,.6,.3,1);position:absolute;bottom:-7px;left:-2px;right:-2px}.nf-nav-text.is-underlined:after,.nf-nav:hover .nf-nav-text:after{clip-path:inset(0)}@media (prefers-reduced-motion:reduce){.nf-nav-text:after{transition:none}}.nf-cat{pointer-events:none;display:block;position:absolute;overflow:visible}.nf-cat path{stroke-dasharray:1;stroke-dashoffset:0}.nf-about-icon.is-hover .nf-cat path{animation:.4s ease-out backwards nf-cat-draw;animation-delay:calc(var(--i,0) * 85ms)}@keyframes nf-cat-draw{0%{stroke-dashoffset:1px;opacity:0}1%{opacity:1}to{stroke-dashoffset:0;opacity:1}}@media (prefers-reduced-motion:reduce){.nf-about-icon.is-hover .nf-cat path{animation:none}}:root{--ps-width:232px}.ps-root{width:var(--ps-width);z-index:30;box-sizing:border-box;background:0 0;flex-direction:column;align-items:flex-start;gap:36px;padding:40px 16px 40px 56px;transition:opacity .4s,transform .4s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.ps-root.is-hidden{opacity:0;transform:translate(-8px)}.ps-groups{flex-direction:column;flex:1;gap:32px;display:flex}.ps-group:last-child:not(:first-child){margin-top:auto;margin-bottom:56px}.ps-heading{letter-spacing:-.02em;color:#1c1b194d;margin-bottom:8px;padding-left:14px;font-size:14px}.ps-list{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.ps-link{color:#1c1b196b;letter-spacing:-.02em;padding:4px 0 4px 14px;font-size:14px;line-height:1.25;transition:color .2s;display:block;position:relative}.ps-link:before{content:"";transform-origin:0;background:currentColor;width:6px;height:1.5px;transition:transform .25s cubic-bezier(.2,1.05,.3,1);position:absolute;top:50%;left:0;transform:translateY(-50%)scaleX(0)}.ps-link:hover{color:var(--ink)}.ps-link:hover:before,.ps-link.is-active:before{transform:translateY(-50%)scaleX(1)}.ps-link.is-active{color:var(--ink)}.ps-root.is-leaving .ps-anim{opacity:0;transition:opacity .3s,transform .3s;transition-delay:calc(var(--i,0) * 25ms);transform:translateY(-8px)}.ps-root.is-reopening .ps-anim{animation:.55s cubic-bezier(.16,1,.3,1) backwards ps-text-in;animation-delay:calc(.2s + var(--i,0) * 45ms)}@keyframes ps-text-in{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.ps-root,.ps-root.is-leaving .ps-anim{transition:none}.ps-root.is-reopening .ps-anim{animation:none}}@media (width>=768px){.ps-root{left:calc((100vw - var(--ps-width) - min(1040px, 100vw - var(--ps-width) - 8vw)) / 2);padding:40px 12px 40px 32px}}@media (width>=1100px){.ps-root{left:calc((100vw - min(1040px, 100vw - 2 * max(4vw, var(--ps-width)))) / 2 - var(--ps-width))}}@media (width<=767px){.ps-root{width:auto;padding:16px 20px;bottom:auto;overflow:visible}.ps-groups{display:none}}.pp-root{isolation:isolate;background:#fff;min-height:100vh;padding:0 0 18vh;position:relative;overflow-x:clip}.pp-stage.is-leaving{pointer-events:none;transition:transform .45s cubic-bezier(.55,0,.8,.3);transform:translate(110vw)}.pp-stage.is-reopening{animation:.65s cubic-bezier(.16,1,.3,1) backwards pp-stage-slide-in}@keyframes pp-stage-slide-in{0%{transform:translate(110vw)}}.pp-stage.is-from-work{animation:.6s .6s backwards pp-from-work-fade}.pp-stage.is-from-work .pp-hero h1,.pp-stage.is-from-work .pp-hero-tagline,.pp-stage.is-from-work .pp-device-wrap,.pp-stage.is-from-work .pp-scroll-hint{animation:.7s cubic-bezier(.16,1,.3,1) backwards pp-from-work-in}.pp-stage.is-from-work .pp-hero h1{animation-delay:.8s}.pp-stage.is-from-work .pp-hero-tagline{animation-delay:.9s}.pp-stage.is-from-work .pp-device-wrap{animation-delay:1s}.pp-stage.is-from-work .pp-scroll-hint{animation-delay:1.2s}@keyframes pp-from-work-fade{0%{opacity:0}}@keyframes pp-from-work-in{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.pp-stage.is-from-work,.pp-stage.is-from-work *{animation:none!important}}@media (width>=768px){.pp-root{padding-left:var(--ps-width)}}.pp-bg-paper{z-index:-1;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.pp-pin{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:#dedbd4d1;border-bottom:1px solid #1c1b1917;justify-content:space-between;align-items:center;gap:16px;padding:14px 26px;transition:opacity .25s;display:flex;position:fixed;top:0;left:0;right:0}.pp-pin-title{letter-spacing:-.01em;font-size:15px}.pp-pin-tag{letter-spacing:.09em;text-transform:uppercase;color:#1c1b1980;font-family:IBM Plex Mono,monospace;font-size:10.5px}.pp-hero-sticky{--pp-hero-pad-y:clamp(32px, 7svh, 72px);z-index:10;min-height:100svh;padding:var(--pp-hero-pad-y) 4vw;justify-content:center;align-items:center;padding-top:clamp(96px,14svh,140px);display:flex;position:sticky;top:0}.pp-hero{aspect-ratio:1/1.02;background:var(--sheet);transform-origin:50%;will-change:transform;border:1px solid #1c1b1912;flex-direction:column;flex:none;width:min(92%,957px);padding:clamp(28px,4.5%,72px) clamp(24px,5.5%,84px) clamp(24px,4%,64px);display:flex;position:relative;overflow:hidden;transform:rotate(-1.4deg);box-shadow:0 1px 1px #1c1b190d,0 18px 44px -16px #1c1b1947}@media (width<=640px){.pp-hero{aspect-ratio:auto;overflow:visible}.pp-hero-sticky{min-height:0;padding:64px 20px 8px;position:static}.pp-hero{width:100%;box-shadow:none;background:0 0;border:0;padding:0;transform:none!important}.pp-root .pp-hero .pp-paper-layer{display:none}.pp-case{margin-top:32px!important}}.pp-paper-layer{pointer-events:none;mix-blend-mode:multiply;background-size:180px 180px;position:absolute;inset:0}.pp-hero .pp-paper-layer{z-index:2}.pp-hero-inner{z-index:1;flex-direction:column;flex:1;gap:clamp(8px,1.5svh,20px);min-height:0;display:flex;position:relative}.pp-hero-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#1c1b1973;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;font-family:IBM Plex Mono,monospace;font-size:10.5px;display:flex}.pp-hero h1{text-align:center;letter-spacing:-.025em;margin:clamp(18px,3.5%,44px) 0 0;font-size:clamp(30px,5.4vw,58px);font-weight:400;line-height:1.05}.pp-hero-tagline{text-align:center;color:#1c1b199e;text-wrap:pretty;max-width:46ch;margin:12px auto clamp(18px,2.5%,32px);font-size:clamp(13px,1.4vw,16px);line-height:1.6}.pp-device-wrap{flex-direction:column;flex:0 auto;align-items:center;min-height:0;margin-bottom:auto;display:flex}.pp-device{background:#3a3a38;border-radius:12px 12px 4px 4px;width:100%;max-width:min(640px,82%);padding:clamp(8px,1.1vw,14px) clamp(8px,1.1vw,14px) clamp(12px,1.6vw,20px);box-shadow:inset 0 0 0 1px #ffffff12}.pp-screen{aspect-ratio:16/10;background:#eceae5 repeating-linear-gradient(135deg,#1c1b190e 0 1px,#0000 1px 9px);border-radius:4px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.pp-screen video{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.pp-screen-auto{position:absolute;inset:0;overflow:hidden}.pp-screen-shot{width:100%;height:auto;animation:22s ease-in-out infinite pp-shot-scroll;display:block}@keyframes pp-shot-scroll{0%,3%{transform:translateY(0%)}46%,54%{transform:translateY(-81.5%)}97%,to{transform:translateY(0%)}}@media (prefers-reduced-motion:reduce){.pp-screen-shot{animation:none}}.pp-screen-placeholder{color:#1c1b1980;flex-direction:column;align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;display:flex}.pp-screen-placeholder span:first-child{letter-spacing:.12em;text-transform:uppercase;font-size:11px}.pp-screen-placeholder span:last-child{letter-spacing:.06em;font-size:10px}.pp-device-base{background:linear-gradient(#cfcdc7,#b9b7b1);border-radius:0 0 10px 10px;width:100%;max-width:min(700px,90%);height:clamp(9px,1.1vw,13px);margin-top:2px}.pp-scroll-hint{letter-spacing:.1em;text-transform:uppercase;color:#1c1b1961;flex:none;justify-content:center;gap:10px;margin-top:0;font-family:IBM Plex Mono,monospace;font-size:10px;display:flex}.pp-case-wrap{z-index:20;justify-content:center;padding:0 4vw;display:flex;position:relative}.pp-case{background:var(--sheet);transform-origin:50% 0;will-change:transform;border:1px solid #1c1b1912;width:100%;max-width:1040px;position:relative;overflow:hidden;transform:rotate(1.1deg);box-shadow:0 -2px 3px #1c1b190a,0 -22px 54px -18px #1c1b194d}.pp-case .pp-paper-layer{z-index:3}.pp-case-rules{z-index:0;pointer-events:none;background-image:linear-gradient(var(--line-blue), var(--line-blue)), linear-gradient(var(--line-blue), var(--line-blue));background-position:6% 0,94% 0;background-repeat:no-repeat;background-size:1px 100%,1px 100%;position:absolute;inset:0}.pp-case-inner{z-index:1;padding:clamp(28px,4vw,56px) 0 0;position:relative}.pp-meta-grid{border-top:1px solid var(--line-blue);border-bottom:1px solid var(--line-blue);grid-template-columns:1fr;padding:0 6%;display:grid}.pp-meta-item{border-top:1px solid var(--line-blue);padding:22px 22px 26px}.pp-meta-item:first-child{border-top:none}@media (width>=640px){.pp-meta-grid{grid-template-columns:repeat(var(--meta-cols,3), minmax(0, 1fr))}.pp-meta-item{border-top:none;border-left:1px solid var(--line-blue)}.pp-meta-item:first-child{border-left:none}}.pp-meta-label{letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.pp-meta-value{color:#1c1b19cc;text-wrap:pretty;font-size:14px;line-height:1.5}.pp-section{border-bottom:1px solid var(--line-blue);scroll-margin-top:24px}.pp-section:last-child{border-bottom:none}.pp-section-head{border-bottom:1px solid var(--line-blue);padding:clamp(20px,2.6vw,32px) calc(6% + 22px)}.pp-section-head h2{letter-spacing:-.02em;margin:0;font-size:clamp(22px,3vw,34px);font-weight:400}.pp-section-body{padding:clamp(24px,3.2vw,40px) calc(6% + 22px)}.pp-section:last-child .pp-section-body{padding-bottom:clamp(40px,5.5vw,80px)}.pp-section-text{color:#1c1b19c7;text-wrap:pretty;margin:0 0 26px;font-size:14.5px;line-height:1.65}.pp-section-text:last-child{margin-bottom:0}.pp-problem-grid{grid-template-columns:1fr;gap:20px;display:grid}.pp-problem-grid>:not(:first-child){border-top:1px solid var(--line-blue);padding-top:20px}@media (width>=640px){.pp-problem-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,44px)}.pp-problem-grid>:not(:first-child){border-top:none;padding-top:0}}.pp-section-body--split{position:relative}@media (width>=640px){.pp-section-body--split:after{content:"";background:var(--line-blue);width:1px;position:absolute;top:0;bottom:0;left:50%}}.pp-problem-grid p{color:#1c1b19c7;text-wrap:pretty;margin:0;font-size:14.5px;line-height:1.65}.pp-list{color:#1c1b19c7;margin:0;padding-left:1.1em;font-size:14.5px;line-height:1.8}.pp-research-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:clamp(14px,2vw,26px);display:grid}.pp-stat-card{background:var(--tile);border:1px solid #1c1b1912;padding:20px}.pp-stat-value{letter-spacing:-.02em;color:var(--blue);font-family:IBM Plex Mono,monospace;font-size:24px}.pp-stat-note{color:#1c1b19a8;text-wrap:pretty;margin-top:8px;font-size:13px;line-height:1.5}.pp-footnote{letter-spacing:.06em;color:#1c1b196b;margin:22px 0 0;font-family:IBM Plex Mono,monospace;font-size:10.5px}.pp-brand-grid{grid-template-columns:1fr;align-items:start;gap:24px;display:grid}.pp-brand-grid>:not(:first-child){border-top:1px solid var(--line-blue);padding-top:24px}@media (width>=640px){.pp-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,44px)}.pp-brand-grid>:not(:first-child){border-top:none;padding-top:0}}.pp-brand-label{color:#1c1b19c7;font-size:14.5px;line-height:1.65}.pp-brand-grid .pp-list{margin:6px 0 22px}.pp-brand-grid .pp-list:last-child{margin-bottom:0}.pp-logo-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.pp-toggle{background:#eceae5;border:1px solid #1c1b1914;border-radius:999px;padding:3px;display:flex}.pp-toggle button{cursor:pointer;letter-spacing:.09em;text-transform:uppercase;border:none;border-radius:999px;padding:7px 15px;font-family:IBM Plex Mono,monospace;font-size:10px;transition:background .25s,color .25s}.pp-logo-stage{justify-content:center;align-items:center;height:clamp(240px,30vw,290px);display:flex;position:relative;overflow:hidden}.pp-logo-layer{justify-content:center;align-items:center;transition:opacity .45s;display:flex;position:absolute;inset:0}.pp-logo-card{aspect-ratio:3/4;align-items:flex-end;width:min(52%,165px);padding:10px;transition:transform .55s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;box-shadow:0 8px 20px -12px #1c1b1959}.pp-logo-card--before{background:#f0eee9;border:1px solid #1c1b191a}.pp-logo-card--after{background:var(--sheet);border:1px solid #4076a847;box-shadow:0 10px 24px -12px #1c1b1952}.pp-logo-card span{letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:9px}.pp-logo-card--before span{color:#1c1b196b}.pp-logo-card--after span{color:var(--blue)}.pp-color-grid{grid-template-columns:repeat(auto-fill,76px);gap:clamp(10px,1.4vw,16px);margin-bottom:clamp(20px,2.8vw,32px);display:grid}.pp-color-swatch{flex-direction:column;gap:6px;display:flex}.pp-color-chip{aspect-ratio:1;border:1px solid #1c1b191a;border-radius:6px}.pp-color-name{color:#1c1b19c7;font-size:11.5px}.pp-color-hex{letter-spacing:.05em;text-transform:uppercase;color:#1c1b1973;font-family:IBM Plex Mono,monospace;font-size:9.5px}.pp-type-grid{border:1px solid var(--line-blue);flex-direction:column;margin-bottom:clamp(24px,3.2vw,40px);display:flex}.pp-type-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;padding:16px 20px;display:flex}.pp-type-row+.pp-type-row{border-top:1px solid var(--line-blue)}.pp-type-meta{flex:none}.pp-type-label{letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:4px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.pp-type-spec{color:#1c1b1973;font-family:IBM Plex Mono,monospace;font-size:10.5px}.pp-type-sample{text-align:right;color:#1c1b19d9;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;line-height:1.2;overflow:hidden}.pp-tile-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:clamp(12px,1.6vw,20px);display:grid}.pp-tile{aspect-ratio:4/3;background:#eceae5 repeating-linear-gradient(135deg,#1c1b190d 0 1px,#0000 1px 9px);border:1px solid #1c1b1912;align-items:flex-end;padding:12px;display:flex}.pp-tile span{letter-spacing:.09em;text-transform:uppercase;color:#1c1b1980;font-family:IBM Plex Mono,monospace;font-size:9.5px}.pp-wireframe-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(14px,2vw,26px);display:grid}.pp-wireframe-thumb{aspect-ratio:3/4;background:#eceae5 repeating-linear-gradient(135deg,#1c1b190d 0 1px,#0000 1px 9px);border:1px solid #1c1b1912}.pp-wireframe-tag{letter-spacing:.09em;text-transform:uppercase;color:#1c1b1973;margin-top:10px;font-family:IBM Plex Mono,monospace;font-size:10px}.pp-wireframe-note{color:#1c1b19b3;text-wrap:pretty;margin-top:5px;font-size:13.5px;line-height:1.5}.pp-to-top{z-index:50;color:#414141;letter-spacing:-.02em;cursor:pointer;opacity:0;pointer-events:none;background:#fff;border:0;padding:10px 18px 11px;font-family:inherit;font-size:15px;transition:opacity .3s,transform .3s,box-shadow .3s;position:fixed;bottom:24px;right:24px;transform:translateY(8px);box-shadow:0 1px 4px -1px #0006}.pp-to-top.is-visible{opacity:1;pointer-events:auto;transform:none}.pp-to-top.is-visible:hover,.pp-to-top.is-visible:focus-visible{transform:translateY(-2px);box-shadow:0 8px 16px -6px #0006}@media (prefers-reduced-motion:reduce){.pp-to-top{transition:none}}@media (width>=1100px){.pp-root{padding-left:0}.pp-hero-sticky,.pp-case-wrap{padding-left:max(4vw, var(--ps-width));padding-right:max(4vw, var(--ps-width))}}.ab-layout{--s:var(--hs-scale,1);width:min(1180px, calc(62.5rem / var(--s)));grid-template-columns:min(240px, calc(15rem / var(--s))) 1fr;column-gap:min(24px, calc(1.5rem / var(--s)));box-sizing:border-box;color:#414141;display:grid;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.ab-side{flex-direction:column;justify-content:space-between;display:flex}.ab-name{font-weight:400;font-size:min(40px, calc(2.25rem / var(--s)));letter-spacing:-.04em;margin:0;line-height:1.05}.ab-role{font-size:min(18px, calc(1.125rem / var(--s)));letter-spacing:-.03em;margin:2px 0 0;line-height:1.2}.ab-tagline{font-size:min(15px, calc(.875rem / var(--s)));letter-spacing:-.03em;margin:0;line-height:1.25}.ab-body p{margin:0 0 min(12px, calc(.75rem / var(--s)));max-width:min(868px, calc(46rem / var(--s)));font-size:min(18px, calc(1rem / var(--s)));letter-spacing:-.03em;text-wrap:pretty;line-height:1.4}.ab-body p:last-child{margin-bottom:0}.ab-flow{color:#414141;max-width:640px;margin:0 auto;padding:0 4px 24px}.ab-flow .ab-name{letter-spacing:-1.2px;font-size:2.25rem}.ab-flow .ab-role{letter-spacing:-.4px;font-size:1.125rem}.ab-flow .ab-body{margin-top:20px}.ab-flow .ab-body p{letter-spacing:-.03em;margin-bottom:18px;font-size:1rem;line-height:1.45}.wk-root{isolation:isolate;background:#fff;min-height:100vh;position:relative}.wk-bg-paper{z-index:-1;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.wk-stage{box-sizing:border-box;max-width:1600px;margin:0 auto;padding:112px clamp(16px,5vw,80px) 72px}.wk-heading{letter-spacing:-.04em;color:#414141;margin:0 0 clamp(20px,3vw,32px);font-size:clamp(34px,6vw,56px);font-weight:400;line-height:1}.wk-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(24px,4vw,48px);margin:0;padding:0;list-style:none;display:grid}.wk-cell{min-width:0}@media (width<=640px){.wk-grid{grid-template-columns:minmax(0,1fr)}}.wk-link{transition:transform .4s cubic-bezier(.2,1.05,.3,1);display:block}.wk-cell:nth-child(odd) .wk-link{transform:rotate(-.6deg)}.wk-cell:nth-child(2n) .wk-link{transform:rotate(.5deg)}.wk-link:hover,.wk-link:focus-within{transform:translateY(-5px)rotate(0)}.wk-link .window-root{transition:box-shadow .4s}.wk-link:hover .window-root,.wk-link:focus-within .window-root{box-shadow:.5px 12px 18px -4px #29292961}.wk-body{color:#414141;flex-direction:column;gap:8px;padding:20px 24px 28px;display:flex}.wk-thumb{width:100%;height:auto;margin-bottom:10px;display:block}.wk-thumb--placeholder{aspect-ratio:4/3;letter-spacing:.1em;text-transform:uppercase;color:#41414166;place-items:center;font-family:IBM Plex Mono,monospace;font-size:11px;display:grid}.wk-title{letter-spacing:-.04em;font-size:28px;line-height:1.05}.wk-text{letter-spacing:-.02em;color:#414141c7;text-wrap:pretty;font-size:16px;line-height:1.45}@media (prefers-reduced-motion:reduce){.wk-link,.wk-link .window-root{transition:none}}.wk-actions{flex-wrap:wrap;align-self:flex-start;gap:8px 28px;margin-top:10px;display:flex}.wk-button{letter-spacing:-.02em;color:#414141;align-items:center;gap:6px;font-size:16px;text-decoration:none;display:inline-flex}.wk-button:hover,.wk-button:focus-visible{color:#414141}.wk-arrow{flex:none;width:15px;height:15px;margin-top:2px}.wk-button-text{position:relative}.wk-button-text:after{content:"";clip-path:inset(0 100% 0 0);pointer-events:none;background:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%208%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22g%22%20x%3D%22-5%25%22%20y%3D%22-50%25%22%20width%3D%22110%25%22%20height%3D%22200%25%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.9%22%20numOctaves%3D%222%22%20seed%3D%224%22%20result%3D%22n%22/%3E%3CfeDisplacementMap%20in%3D%22SourceGraphic%22%20in2%3D%22n%22%20scale%3D%220.8%22/%3E%3C/filter%3E%3C/defs%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23ACDAE2%22%20stroke-linecap%3D%22round%22%20filter%3D%22url%28%23g%29%22%3E%3Cpath%20d%3D%22M1%204.3C30%204%2070%204.6%2099%204%22%20stroke-width%3D%221.5%22%20opacity%3D%22.9%22/%3E%3Cpath%20d%3D%22M3%205.1C35%204.9%2070%205.3%2097%204.9%22%20stroke-width%3D%22.8%22%20opacity%3D%22.6%22/%3E%3C/g%3E%3C/svg%3E) 0/100% 100% no-repeat;height:8px;transition:clip-path .4s cubic-bezier(.3,.6,.3,1);position:absolute;bottom:-7px;left:-2px;right:-2px}.wk-button:hover .wk-button-text:after,.wk-button:focus-visible .wk-button-text:after{clip-path:inset(0)}@media (prefers-reduced-motion:reduce){.wk-button-text:after{transition:none}}.wk-stage.is-leaving{opacity:0;pointer-events:none;transition:opacity .4s}@media (prefers-reduced-motion:reduce){.wk-stage.is-leaving{transition:none}}.wk-heading,.wk-cell{animation:.55s cubic-bezier(.16,1,.3,1) backwards wk-enter;animation-delay:calc(var(--i,0) * 90ms + 60ms)}@keyframes wk-enter{0%{opacity:0;transform:translateY(14px)}}@media (prefers-reduced-motion:reduce){.wk-heading,.wk-cell{animation:none}}
