:root{--bg:#f5f5f5;--ink:50, 64, 79;--text:rgb(var(--ink));--t80:rgba(var(--ink), .8);--t55:rgba(var(--ink), .55);--t40:rgba(var(--ink), .4);--t08:rgba(var(--ink), .08);--accent:#e65f2e;--serif:"Libre Baskerville", Georgia, serif;--sans:"Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--left:264px;--col:463px;--gap:16px}.dark{--bg:#161718;--ink:226, 230, 235}*{box-sizing:border-box}html{background:var(--bg);transition:background-color .3s}body{color:var(--text);font:400 15px/1.5 var(--sans);-webkit-font-smoothing:antialiased;letter-spacing:-.005em;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;color:inherit}::selection{background:var(--accent);color:#fff}:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px}body:after{content:"";pointer-events:none;z-index:100;opacity:.3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");position:fixed;inset:0}.dark body:after{opacity:.12}.name{z-index:20;color:var(--t55);transition:color .15s ease-out;position:fixed;top:28px;left:24px}.name:hover{color:var(--text)}.theme{z-index:20;cursor:pointer;width:28px;height:28px;color:var(--t55);background:0 0;border:0;border-radius:50%;place-items:center;transition:color .15s;display:grid;position:fixed;top:26px;right:24px}.theme:hover{color:var(--accent)}.veil{z-index:15;pointer-events:none;background:linear-gradient(to bottom, var(--bg) 62%, color-mix(in srgb, var(--bg) 0%, transparent));height:92px;position:fixed;top:0;left:0;right:0}.topnav{top:28px;left:var(--left);z-index:20;gap:28px;display:flex;position:fixed}.topnav a{color:var(--t40);transition:color .15s ease-out;position:relative}.topnav a:hover{color:var(--accent)}.topnav a.on{color:var(--text)}.topnav .dot{background:var(--accent);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:-5px;left:50%}.page{padding:240px 24px 0 var(--left);max-width:calc(var(--left) + var(--col) * 2 + var(--gap) + 24px)}.portrait{width:150px;height:150px;margin:0 0 32px}.portrait img,.about .face{-webkit-mask-image:radial-gradient(circle farthest-side at 50% 36%,#000 46%,#0000 100%);mask-image:radial-gradient(circle farthest-side at 50% 36%,#000 46%,#0000 100%)}.portrait img{object-fit:cover;width:100%;height:100%;display:block}.hero{font:400 64px/80px var(--serif);letter-spacing:-.03em;max-width:943px;color:var(--text);margin:0}.hero .line{display:block}.meta{gap:24px;margin-top:40px;display:flex}.meta>div{width:224px}.meta>div+div{width:300px}.meta p{margin:0;line-height:22.5px}.meta .k{color:var(--t55);margin-bottom:4px}.meta .v{color:var(--t80)}.meta a{color:var(--t80);transition:color .15s}.meta a:hover{color:var(--accent)}.sect{margin-top:120px}.shead{border-bottom:1px solid var(--t08);justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:14px;display:flex}.shead h2{font:400 15px/22px var(--sans);color:var(--text);margin:0}.shead p{color:var(--t55);margin:2px 0 0}.shead .more{color:var(--t55);white-space:nowrap;transition:color .15s}.shead .more .arr{transition:transform .2s;display:inline-block}.shead .more:hover{color:var(--accent)}.shead .more:hover .arr{transform:translate(3px)}.sect .grid{margin-top:28px}.cap .sub{color:var(--t55);margin-top:2px;display:block}.cases{gap:46px var(--gap);width:calc(var(--col) * 2 + var(--gap));grid-template-columns:1fr 1fr;margin-top:28px;display:grid}.cases .feature{grid-column:1/-1}.cases .feature .frame{width:100%;top:9%;left:7%}.cases .feature .cap{font-size:16px}.labrow{gap:var(--gap);grid-template-columns:repeat(3,1fr);align-items:start;margin-top:28px;display:grid}.labrow .media{aspect-ratio:4/3!important}.cap.lab{flex-direction:column;gap:2px;margin-top:12px;display:flex}.cap.lab .row1{align-items:center;gap:8px;margin-bottom:4px;display:flex}.cap.lab .k{color:var(--t40);font-size:13.5px}.tag{border:1px solid var(--t08);color:var(--t55);padding:0 6px;font-size:12px;line-height:18px}.tag.prototype{color:var(--accent);border-color:#e65f2e59}.cap.lab .sub{font-size:14px;line-height:20px}.labtitle{font:400 64px/80px var(--serif);letter-spacing:-.03em;margin:0}.labintro{max-width:560px;margin:16px 0 48px}.labintro p{color:var(--t80);margin:0;line-height:24px}.labrow .mock .box,.masonry .mock .box{border-radius:10px;width:92%;padding:11px;font-size:12px}.labrow .mock .chip{padding:3px 8px;font-size:11px}.labrow .mock .chips{gap:4px;margin-top:8px}.labrow .mock .st{gap:7px;padding:7px 8px;font-size:11px}.labrow .mock .states{gap:5px}.labrow .mock .dot{width:6px;height:6px;margin-top:4px}.labrow .mock .caret{height:13px}.grid{gap:var(--gap);align-items:flex-start;margin-top:28px;display:flex}.grid .colm{width:var(--col);flex-direction:column;gap:46px;display:flex}.card{cursor:none;display:block}.card.soon,.card:not([href]){cursor:default}.media{background:var(--t08);width:100%;position:relative;overflow:hidden}.media img{object-fit:cover;width:100%;height:100%}.cap{margin-top:12px;line-height:20px}.cap .t{color:var(--text)}.cap .s{color:var(--t40);margin:0 6px}.cap .k,.soon .cap .t{color:var(--t55)}.frame{background:#fff;border-radius:8px;width:112%;position:absolute;top:11%;left:9%;overflow:hidden;box-shadow:0 1px 2px #0000000f,0 12px 32px -10px #141e3247}.frame img{height:auto}.tint-peach{background:linear-gradient(140deg,#f3c9ac,#eab79a 55%,#e4c3c9)}.tint-slate{background:#3e4652}.tint-blue{background:linear-gradient(160deg,#cfe0f6,#a9c6ef)}.tint-lilac{background:#e7e1f3}.tint-sand{background:#ece6da}.tint-mint{background:#dcebe3}.soonlabel{color:#32404f73;place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.mock{place-items:center;padding:24px;display:grid;position:absolute;inset:0}.mock .box{color:#2b3440;background:#fff;border-radius:14px;width:min(340px,88%);padding:16px;font-size:14px;box-shadow:0 1px 2px #0000000d,0 16px 36px -14px #2828504d}.mock .input{align-items:center;min-height:22px;display:flex}.mock .caret{background:#3c6df0;width:1.5px;height:17px;margin-left:1px;animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.mock .chips{flex-wrap:wrap;gap:6px;min-height:26px;margin-top:12px;display:flex}.mock .chip{color:#3c5fd8;background:#edf2fe;border-radius:999px;padding:4px 10px;font-size:12.5px}.mock .states{gap:8px;display:grid}.mock .st{background:#f6f7f9;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;line-height:1.4;display:flex}.mock .dot{border-radius:50%;flex:none;width:8px;height:8px;margin-top:5px}.cursor{z-index:90;pointer-events:none;align-items:center;gap:8px;display:flex;position:fixed;top:0;left:0}.cursor .d{background:var(--accent);width:6px;height:6px}.cursor .l{color:var(--accent);white-space:nowrap;font-size:14px}.bottom{justify-content:space-between;align-items:center;padding:120px 24px 26px;display:flex}.bottom .here{color:var(--t55);font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:flex}.bottom .here i{background:var(--accent);width:5px;height:5px}.bottom nav{gap:32px;display:flex}.bottom nav a{color:var(--t40);transition:color .15s ease-out}.bottom nav a:hover{color:var(--accent)}.pills{gap:6px;margin-bottom:18px;display:flex}.pill{cursor:pointer;color:var(--t55);background:0 0;border:0;border-radius:2px;padding:3px 7px;transition:color .15s;position:relative}.pill:hover{color:var(--accent)}.pill.on{color:#fff}.pill .bgp{background:var(--accent);z-index:-1;border-radius:2px;position:absolute;inset:0}.pill span{position:relative}.masonry{width:calc(var(--col) * 2 + var(--gap));grid-template-columns:repeat(4,1fr);align-items:start;gap:16px;display:grid}.masonry .cap{margin-top:10px}.masonry .cap .t,.masonry .cap .k{display:block}.masonry .mock{padding:12px}.masonry .mock .box{border-radius:10px;width:92%;padding:11px;font-size:12px}.masonry .mock .chip{padding:3px 8px;font-size:11px}.masonry .mock .chips{gap:4px;margin-top:8px}.masonry .mock .st{gap:7px;padding:7px 8px;font-size:11px}.masonry .mock .states{gap:5px}.masonry .mock .dot{width:6px;height:6px;margin-top:4px}.masonry .mock .caret{height:13px}.about{max-width:600px}.about .face{object-fit:cover;object-position:top;border-radius:0;width:112px;height:112px;margin-bottom:40px}.about h1{font:400 40px/52px var(--serif);letter-spacing:-.03em;margin:0 0 28px}.about p{color:var(--t80);margin:0 0 18px;font-size:15px;line-height:24px}.about dl{grid-template-columns:120px 1fr;row-gap:10px;margin:40px 0 0;display:grid}.about dt{color:var(--t55)}.about dd{color:var(--t80);margin:0}.about a{color:var(--text);border-bottom:1px solid var(--t40);transition:color .15s,border-color .15s}.about a:hover{color:var(--accent);border-color:var(--accent)}@media (width<=1240px){:root{--left:200px;--col:calc((100vw - var(--left) - 24px - var(--gap)) / 2)}.hero{font-size:54px;line-height:68px}}@media (width<=860px){:root{--col:100%}.name{position:fixed;top:22px;left:20px}.theme{position:fixed;top:18px;right:16px}.veil{height:84px}.topnav{gap:20px;top:22px;left:auto;right:60px}.page{max-width:none;padding:120px 20px 0}.portrait{width:112px;height:112px;margin-bottom:24px}.hero{font-size:36px;line-height:46px}.hero .line{display:inline}.meta{flex-direction:column;gap:20px;margin-top:32px}.meta>div,.meta>div+div{width:auto}.grid{flex-direction:column;gap:40px;margin-top:44px}.grid .colm{display:contents}.grid{align-items:stretch}.grid .card{width:100%}.masonry{grid-template-columns:1fr 1fr;width:100%}.labrow{grid-template-columns:1fr;gap:36px}.cases{grid-template-columns:1fr;gap:40px;width:100%}.cases .feature .media,.labrow .media{aspect-ratio:16/10!important}.sect{margin-top:80px}.shead{flex-direction:column;align-items:flex-start;gap:8px}.labtitle{font-size:40px;line-height:50px}.bottom{flex-direction:column-reverse;align-items:flex-start;gap:16px;padding:80px 20px 24px}.bottom nav{gap:20px}.card{cursor:pointer}.cursor{display:none}}
