html[data-bento]{--font-display:var(--font-geist-sans),system-ui,sans-serif;--font-body:var(--font-geist-sans),system-ui,sans-serif;--font-bento-mono:var(--font-geist-sans),system-ui,sans-serif;--t-14:.875rem;--t-24:1.5rem;--t-30:1.875rem;--t-36:2.25rem;--t-48:3rem;--t-72:4.5rem;--paper:#f0f0f0;--card:#fff;--card-2:#fbfbfb;--ink:#18160f;--ink-2:#18160f8f;--ink-30:#18160f47;--art-ink:#fff;--art-ink-2:#ffffffb8;--line:#18160f1a;--line-2:#18160f0f;--accent:#00b889;--shadow:0 6px 20px 0px #1410080a,0 1px 3px #14100808;--shadow-hi:0 26px 56px 0px #1410081b;--shipped:#16a06b;--hover-tint:#8a8a8a;--hover-mix:10%;--edge-lit:.2;--edge-ang:190deg;--edge-w:1.15px;--edge-soft:.15px;--gap:clamp(18px,2vw,32px);--radius:clamp(22px,2vw,33px);--nav-h:clamp(24px,3.5vh,44px);--frame:clamp(14px,1.7vw,28px);--nav2:clamp(52px,5.4vh,68px);--nav2-gap:clamp(12px,1.5vw,22px);--card-sm:clamp(132px,11.5vw,150px);--card-sm-long:clamp(176px,15.5vw,200px);--card-md:clamp(220px,19.5vw,248px);--card-md-long:clamp(280px,25vw,316px);--card-lg:clamp(340px,30vw,392px);--card-xl:clamp(440px,40vw,540px)}html[data-bento][data-theme=dark]{--paper:#000;--card:#151517;--card-2:#1e1e21;--ink:#fff;--ink-2:#8e8f96;--ink-30:#36363a;--line:#202022;--line-2:#171719;--shadow:0 6px 20px 0px #0000004c,0 1px 3px #0000005d;--shadow-hi:0 26px 58px 0px #00000068;--shipped:#2fd79a}html[data-bento]{scroll-behavior:smooth;scroll-snap-type:y mandatory}html[data-bento] body{font-family:var(--font-body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;overflow-x:clip;background-color:var(--paper)!important;color:var(--ink)!important}html[data-bento] ::selection{background:var(--accent);color:#fff}html[data-bento] body>canvas{display:none}.bento-root a{color:inherit;text-decoration:none}.bento-root button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.bento-root img,.bento-root video{display:block}.bento-root .mono{font-family:var(--font-bento-mono)}.bento-root .disp{font-family:var(--font-display)}.hide-sb{-ms-overflow-style:none;scrollbar-width:none}.hide-sb::-webkit-scrollbar{display:none}.tlabel{font-family:var(--font-bento-mono);font-size:var(--t-14);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);font-weight:500}.stage{max-width:none;padding:var(--frame);margin:0 auto}.snap-sec{scroll-snap-align:start;scroll-snap-stop:always}#hero{scroll-margin-top:calc(var(--frame) + var(--nav2) + var(--nav2-gap))}#bento-sec{min-height:calc(100svh - var(--nav-h));margin-top:clamp(40px,5vh,72px);scroll-margin-top:clamp(56px,6.5vh,96px)}.masonry{gap:var(--gap);grid-template-rows:clamp(66px,4.4vw,86px) clamp(66px,4.4vw,86px) clamp(66px,4.4vw,86px) clamp(66px,4.4vw,86px) clamp(200px,14vw,250px) clamp(95px,6.3vw,123px) clamp(95px,6.3vw,123px) clamp(160px,10.5vw,204px) minmax(clamp(20px,1.34vw,26px),auto) minmax(clamp(20px,1.34vw,26px),auto) minmax(clamp(225px,12.1vw,235px),auto);grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"id id id id id id candy candy candy candy glut glut""id id id id id id candy candy candy candy glut glut""id id id id id id candy candy candy candy glut glut""id id id id id id candy candy candy candy glut glut""id id id id id id hsw hsw hsw prml prml prml""abt abt abt ama ama sago sago sago sago prml prml prml""abt abt abt ama ama sago sago sago sago themes themes themes""abt abt abt cv cv globe globe globe globe themes themes themes""tools tools tools tools tools globe globe globe globe themes themes themes""tools tools tools tools tools globe globe globe globe themes themes themes""tools tools tools tools tools mail mail mail mail mail mail mail";display:grid}.mw{min-width:0;min-height:0;display:block}.mw>*{min-height:100%}.mw>[data-beam]{height:100%}.a-id{grid-area:id}.a-candy{grid-area:candy}.a-sago{grid-area:sago}.a-hsw{grid-area:hsw}.a-abt{grid-area:abt}.a-cv{grid-area:cv}.a-glut{grid-area:glut}.a-prml{grid-area:prml}.a-tools{grid-area:tools}.a-themes{grid-area:themes}.a-globe{grid-area:globe}.a-ama{grid-area:ama}.a-mail{grid-area:mail}.card{border-radius:var(--radius);background-color:var(--card);box-shadow:none;border:none;transition:translate .4s cubic-bezier(.22,.61,.36,1),scale .4s cubic-bezier(.22,.61,.36,1),background-color .55s cubic-bezier(.22,.61,.36,1);position:relative;overflow:hidden}button.card{text-align:left;background-color:var(--card);width:100%;display:block}.card.click{cursor:pointer}.card:focus{outline:none}.card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.card:after{content:"";border-radius:inherit;padding:var(--edge-w,1px);pointer-events:none;z-index:6;filter:blur(var(--edge-soft,0px));background:linear-gradient(var(--edge-ang,180deg),rgba(255,255,255,calc(.34*var(--edge-lit,1)))0%,rgba(255,255,255,calc(.13*var(--edge-lit,1)))18%,rgba(255,255,255,calc(.05*var(--edge-lit,1)))48%,rgba(255,255,255,calc(.08*var(--edge-lit,1)))80%,rgba(255,255,255,calc(.17*var(--edge-lit,1)))100%);-webkit-mask-composite:xor;opacity:.75;transition:opacity .4s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.card.click:hover:after{opacity:1}html[data-bento]:not([data-theme=dark]) .card:after{opacity:.62}.study-edge{position:relative}.study-edge:after{content:"";border-radius:inherit;padding:var(--edge-w,1px);pointer-events:none;z-index:6;filter:blur(var(--edge-soft,0px));background:linear-gradient(var(--edge-ang,180deg),rgba(255,255,255,calc(.34*var(--edge-lit,1)))0%,rgba(255,255,255,calc(.13*var(--edge-lit,1)))18%,rgba(255,255,255,calc(.05*var(--edge-lit,1)))48%,rgba(255,255,255,calc(.08*var(--edge-lit,1)))80%,rgba(255,255,255,calc(.17*var(--edge-lit,1)))100%);-webkit-mask-composite:xor;opacity:.9;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}html[data-bento]:not([data-theme=dark]) .study-edge:after{opacity:.62}.tool-grid{grid-template-columns:repeat(8,minmax(0,1fr));justify-items:center;gap:clamp(7px,.7vw,10px);display:grid}@media (max-width:760px){.tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.tool-chip{aspect-ratio:1;background:var(--card-2);width:100%;max-width:56px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);border-radius:12px;justify-content:center;align-items:center;transition:background-color .22s,color .22s,transform .22s cubic-bezier(.34,1.4,.64,1);display:flex}.tool-chip:hover{background:color-mix(in srgb,var(--card-2)88%,var(--ink));color:var(--chip-c,var(--ink));transform:translateY(-2px)}@media (hover:none){.tool-chip{color:var(--chip-c,var(--ink))}}.tool-chip svg{display:block}.contrib{align-self:start;width:fit-content;max-width:100%;display:block}.contrib-cap{font-size:var(--t-14);color:var(--ink-2);justify-content:space-between;align-items:baseline;margin-bottom:9px;display:flex}.contrib-graph{-ms-overflow-style:none;scrollbar-width:none;overflow-x:auto}.contrib-graph::-webkit-scrollbar{display:none}.contrib-graph rect{transition:fill .3s}.contrib:hover .contrib-graph{opacity:.92}.contrib-graph footer{display:none}.themes-arena{z-index:2;flex-wrap:wrap;align-content:flex-end;gap:8px;padding:clamp(22px,1.6vw,28px) clamp(22px,1.6vw,28px) calc(clamp(22px,1.6vw,28px) + 34px);display:flex;position:absolute;inset:0;overflow:hidden}.themes-arena[data-live]{padding:0;display:block;inset:clamp(42px,4vw,58px) 12px 12px}.theme-word{letter-spacing:0;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(7px);border-radius:999px;padding:10px 15px;font-weight:500;line-height:1}.themes-arena[data-live] .theme-word{will-change:transform;cursor:grab;position:absolute;top:0;left:0}.themes-arena[data-live] .theme-word:active{cursor:grabbing}.proj-card:not(.w-tile):hover{background-color:color-mix(in srgb,var(--card)calc(100% - var(--hover-mix,10%)),var(--hover-tint,var(--accent)))}.proj-chev{transition:transform .3s}.proj-card:hover .proj-chev{transform:translate(3px)}.hover-reveal{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .34s cubic-bezier(.22,.61,.36,1),opacity .28s,translate .34s cubic-bezier(.22,.61,.36,1);display:grid;translate:0 5px}.hr-clip{min-height:0;overflow:hidden}.hr-line{font-size:var(--t-14);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:5px;padding-top:8px;font-weight:500;display:inline-flex}.proj-card:hover .hover-reveal{opacity:1;grid-template-rows:1fr;translate:0}@media (prefers-reduced-motion:reduce){.hover-reveal{transition:none}}@media (hover:none){.hover-reveal{display:none}}.card-art{transition:transform .5s cubic-bezier(.22,.61,.36,1)}.proj-card:hover .card-art{transform:translateZ(0)scale(calc(var(--art-z,1)*1.07))!important}.peek-page{transform-origin:bottom;will-change:transform;transition:transform .55s cubic-bezier(.34,1.4,.64,1);transform:rotate(-5deg)}.proj-card:hover .peek-page{transform:translateY(-12px)rotate(-2deg)}.peek-phone{transform-origin:bottom;will-change:translate,rotate;transition:translate .6s cubic-bezier(.34,1.56,.64,1),rotate .6s cubic-bezier(.34,1.56,.64,1)}.proj-card:hover .peek-phone{translate:-22px;rotate:-5deg}.app-ico{transition:transform .4s cubic-bezier(.34,1.4,.64,1);transform:translateZ(0)}.app-ico:hover{transform:translateY(-6px)scale(1.08)}.w-tile{overflow:hidden}.pad{padding:clamp(22px,2.2vw,36px)}.cover{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.22,.61,.36,1);position:absolute;inset:0}.click:hover .cover{transform:scale(1.05)}a.contact-link{font-size:var(--t-14);color:var(--ink-2);font-weight:500;transition:color .2s}a.contact-link:hover{color:var(--ink)}.pill{background:var(--card-2);border:1px solid var(--line);font-size:var(--t-14);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-weight:500;display:inline-flex}.pill-now{color:#18160f;height:32px;box-shadow:none;background:#fff;border:none;padding:0 14px;font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(22px)scale(.97)}to{opacity:1;transform:none}}@keyframes studyIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes bentoSpin{to{transform:rotate(360deg)}}@keyframes blurIn{0%{opacity:0;filter:blur(10px);transform:translateY(26px)}to{opacity:1;filter:blur();transform:none}}.reveal-item{opacity:0;transform:translate(var(--tx,0px),16px)scale(.9);will-change:opacity,transform}.revealed .reveal-item{opacity:1;transition:opacity .5s,transform .82s cubic-bezier(.3,1.5,.5,1),translate .4s cubic-bezier(.22,.61,.36,1),scale .4s cubic-bezier(.22,.61,.36,1);transition-delay:var(--rd,0s),var(--rd,0s),0s,0s;will-change:auto;transform:none}.hero-panel{will-change:opacity,transform;transform-origin:50% 38%;transition:opacity .16s linear,transform .16s ease-out}@media (prefers-reduced-motion:reduce){.reveal-item{opacity:1!important;filter:none!important;transform:none!important}.hero-panel video{animation:none!important}}.modal-scrim{z-index:200;-webkit-backdrop-filter:blur(14px);opacity:0;will-change:opacity;background:#08070480;justify-content:center;align-items:center;padding:clamp(14px,3vw,40px);display:flex;position:fixed;inset:0}.modal-card{background:var(--card);will-change:transform,opacity;border:none;border-radius:clamp(20px,2vw,30px);flex-direction:column;width:min(860px,96vw);max-height:94vh;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0000000a,0 44px 110px #00000080}.modal-scroll{flex:auto;min-height:0;overflow-y:auto}.modal-x{z-index:10;background:var(--card);border:1px solid var(--line);width:44px;height:44px;color:var(--ink);box-shadow:none;border-radius:999px;justify-content:center;align-items:center;transition:transform .2s,background-color .2s;display:flex;position:absolute;top:18px;right:18px}.modal-x:hover{background:var(--card-2);transform:scale(1.08)}.modal-x:active{transform:scale(.94)}.study-link{transition:transform .3s,border-color .3s}.study-link:hover{transform:translateY(-3px)}.study-tile{text-align:left;display:block}.study-art{transition:transform .34s cubic-bezier(.4,0,.2,1),box-shadow .34s cubic-bezier(.4,0,.2,1)}.study-img{transition:transform .55s cubic-bezier(.33,0,.15,1)}.study-d{transition:color .22s}a.study-tile:hover .study-art,a.study-tile:focus-visible .study-art{box-shadow:var(--shadow-hi);transform:translateY(-4px)}a.study-tile:hover .study-img,a.study-tile:focus-visible .study-img{transform:scale(1.055)}a.study-tile:hover .study-d,a.study-tile:focus-visible .study-d{color:var(--ink)}a.study-tile:active .study-art{transform:translateY(-1px)}.study-cap{transition:transform .3s cubic-bezier(.4,0,.2,1)}a.study-tile:hover .study-cap:only-child{transform:translateY(-3px)}a.study-tile:focus-visible{outline:none}a.study-tile:focus-visible .study-art{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){.study-art,.study-img{transition:none}a.study-tile:hover .study-art,a.study-tile:focus-visible .study-art,a.study-tile:hover .study-img,a.study-tile:focus-visible .study-img{transform:none}}.study-d{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3em;display:-webkit-box;overflow:hidden}.study-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}@media (max-width:640px){.study-grid{grid-template-columns:minmax(0,1fr)}}.ubi-logo{filter:invert()}html[data-bento][data-theme=dark] .ubi-logo{filter:none}.ama-sug:hover{transform:translate(2px);border-color:var(--ink-30)!important}.px-grid{flex-shrink:0;grid-template-columns:repeat(3,1fr);place-content:center;gap:1px;display:inline-grid}.px-cell{background:var(--ink-2);border-radius:.5px;animation:.9s ease-in-out infinite pxPulse;display:block}@keyframes pxPulse{0%,to{opacity:.2}45%{opacity:1}}.think-row{flex-direction:column;align-self:flex-start;align-items:flex-start;gap:6px;display:flex}.think-head{border:1px solid var(--line-2);font-family:var(--font-bento-mono);font-size:var(--t-14);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:6px 11px;font-weight:500;transition:color .2s,border-color .2s;display:inline-flex}.think-head:hover{color:var(--ink-2);border-color:var(--line)}.think-chev{transition:rotate .25s}.think-row[data-open] .think-chev{rotate:180deg}.think-body{border-left:1px solid var(--line);flex-direction:column;gap:5px;margin-left:10px;padding:2px 0 2px 14px;display:flex}.think-step{font-family:var(--font-bento-mono);font-size:var(--t-14);color:var(--ink-2);animation:.3s both studyIn}.ama-caret{vertical-align:text-bottom;background:var(--accent);border-radius:1.5px;width:7px;height:1em;margin-left:2px;animation:.8s step-end infinite caretBlink;display:inline-block}@keyframes caretBlink{50%{opacity:.15}}.ama-srcs{flex-wrap:wrap;gap:6px;display:inline-flex}a.ama-src{border:1px solid var(--line);background:var(--card-2);font-size:var(--t-14);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-weight:500;transition:border-color .2s,color .2s,transform .2s;display:inline-flex}a.ama-src:before{content:"";background:var(--accent);border-radius:999px;width:5px;height:5px}a.ama-src:hover{color:var(--ink);border-color:var(--ink-30);transform:translateY(-1px)}.ama-copy{font-size:var(--t-14);color:var(--ink-30);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:999px;padding:5px 10px;font-weight:500;transition:opacity .2s,color .2s}.ama-turn:hover .ama-copy,.ama-copy:focus-visible{opacity:1}.ama-copy:hover{color:var(--ink-2)}.ama-chip{border:1px solid var(--line);background:var(--card-2);font-size:var(--t-14);color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:7px 13px;font-weight:500;transition:border-color .2s,color .2s}.ama-chip:hover:not(:disabled){color:var(--ink);border-color:var(--ink-30)}.ama-chip:disabled{opacity:.4;cursor:default}.orb{transition:transform .3s cubic-bezier(.34,1.4,.6,1)}.proj-card:hover .orb{transform:scale(1.12)}.ama-dot{background:var(--ink-30);border-radius:999px;width:7px;height:7px;animation:1s ease-in-out infinite amaBlink;display:inline-block}@keyframes amaBlink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media (max-width:1200px){.masonry{grid-template-rows:clamp(300px,42vw,420px) clamp(220px,30vw,290px) clamp(180px,25vw,230px) clamp(150px,20vw,190px) clamp(170px,24vw,220px) clamp(150px,20vw,190px) clamp(200px,28vw,260px) clamp(280px,40vw,380px) minmax(clamp(230px,32vw,300px),auto) minmax(clamp(190px,24vw,210px),auto) clamp(170px,24vw,220px);grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"id id id id id id""candy candy candy candy candy candy""sago sago sago prml prml prml""hsw hsw hsw hsw hsw hsw""abt abt abt abt ama ama""cv cv cv cv ama ama""glut glut glut glut glut glut""themes themes themes themes themes themes""tools tools tools tools tools tools""globe globe globe globe globe globe""mail mail mail mail mail mail"}}@media (max-width:760px){.masonry{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"id""candy""sago""prml""hsw""glut""abt""ama""cv""themes""tools""globe""mail";grid-auto-rows:minmax(clamp(200px,46vw,260px),auto)}.a-id{min-height:clamp(300px,74vw,420px)}}.topnav{height:var(--nav2);margin-bottom:var(--nav2-gap);justify-content:center;align-items:center;display:flex;position:relative}.nav-wordmark{font-family:var(--font-display);font-weight:400;font-size:var(--t-14);text-transform:uppercase;letter-spacing:.42em;text-indent:.42em;color:var(--ink);white-space:nowrap;line-height:1;transition:color .25s}.nav-wordmark:hover{color:var(--ink-2)}@media (max-width:560px){.nav-wordmark{letter-spacing:.3em;text-indent:.3em}}.hero-start{transition:transform .25s}.hero-start:hover{transform:translateY(-2px)}.env-btn{transition:transform .25s,background .25s,color .25s}.env-btn:hover:not(:disabled){color:#18160f!important;background:#fff!important}.env-btn:disabled{opacity:.4;cursor:default}@media (max-width:920px){.hero-headline{max-width:78%!important}}@media (hover:hover) and (pointer:fine){html[data-bento][data-cursor=on],html[data-bento][data-cursor=on] *{cursor:none!important}html[data-bento][data-cursor=on] input,html[data-bento][data-cursor=on] textarea,html[data-bento][data-cursor=on] [contenteditable=true]{cursor:text!important}}.mc-cur{z-index:2147483647;pointer-events:none;opacity:0;will-change:transform;transition:opacity .25s;position:fixed;top:0;left:0}.mc-cur>i{border-radius:999px;display:block;position:absolute;transform:translate(-50%,-50%)}.mc-ring>i{border:1.5px solid color-mix(in srgb,var(--ink)32%,transparent);background:0 0;width:30px;height:30px;transition:width .26s cubic-bezier(.34,1.3,.64,1),height .26s cubic-bezier(.34,1.3,.64,1),background-color .26s,border-color .26s,scale .16s}.mc-dot>i{background:var(--ink);width:6px;height:6px;transition:scale .2s,opacity .2s}.mc-ring.is-hot>i{border-color:color-mix(in srgb,var(--accent)50%,transparent);background:color-mix(in srgb,var(--accent)13%,transparent);width:50px;height:50px}.mc-dot.is-hot>i{scale:0}.mc-ring.is-text>i{border-color:color-mix(in srgb,var(--ink)45%,transparent);border-radius:3px;width:4px;height:24px}.mc-ring.is-down>i{scale:.82}@media (prefers-reduced-motion:reduce){.mc-cur{display:none}}html[data-cursor-style=dot] .mc-ring{display:none}html[data-cursor-style=dot] .mc-dot>i{background:var(--ink);width:11px;height:11px;transition:width .24s cubic-bezier(.34,1.3,.64,1),height .24s cubic-bezier(.34,1.3,.64,1),background-color .24s,border-color .24s;scale:1}html[data-theme=dark][data-cursor-style=dot] .mc-dot>i{background:#fff}html[data-cursor-style=dot] .mc-dot.is-hot>i{border:1.5px solid color-mix(in srgb,var(--ink)55%,transparent);background:0 0;width:34px;height:34px;scale:1}html[data-theme=dark][data-cursor-style=dot] .mc-dot.is-hot>i{background:0 0;border-color:#fff9}::view-transition-group(morphcard){border-radius:clamp(18px,1.8vw,26px);animation-duration:.38s;animation-timing-function:cubic-bezier(.34,1.26,.64,1);overflow:clip}::view-transition-old(morphcard){object-fit:cover;height:100%;animation-duration:.16s;animation-timing-function:ease-out}::view-transition-new(morphcard){object-fit:cover;object-position:top;height:100%;animation-duration:.36s;animation-timing-function:cubic-bezier(.34,1.26,.64,1)}::view-transition-group(root){animation-duration:.26s}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation-duration:.001ms!important}::view-transition-old(*){animation-duration:.001ms!important}::view-transition-new(*){animation-duration:.001ms!important}}@media (max-width:620px){.about-grid{grid-template-columns:1fr!important}.about-grid>div:first-child{min-height:220px!important}}.sheaf{aspect-ratio:1/.86;pointer-events:none;--sheaf-sh:0 12px 30px #00000057,0 1px 2px #00000047;--sheaf-sh-hi:0 22px 44px #0000006b,0 1px 2px #0000004d;width:100%;position:relative}html[data-bento]:not([data-theme=dark]) .sheaf{--sheaf-sh:0 5px 14px #14100812,0 1px 2px #1410080d;--sheaf-sh-hi:0 12px 26px #1410081c,0 1px 2px #1410080f}.sheaf-sheet{aspect-ratio:1/1.32;background:var(--stock);width:46%;box-shadow:var(--sheaf-sh),inset 0 0 0 1px var(--line);transform:translate(-50%,-50%)var(--t);opacity:0;border-radius:3px;transition:transform .62s cubic-bezier(.32,1.28,.58,1),box-shadow .45s;position:absolute;top:50%;left:50%;translate:0 16px}.sheaf.on .sheaf-sheet{animation:.6s cubic-bezier(.34,1.3,.64,1) forwards sheaf-in;animation-delay:calc(var(--i)*.11s)}.sheaf.on .sheaf-face{animation:.6s cubic-bezier(.34,1.3,.64,1) .22s forwards sheaf-in,6.5s ease-in-out 1.1s infinite sheaf-float}@keyframes sheaf-in{to{opacity:1;translate:0}}@keyframes sheaf-float{0%,to{translate:0}50%{translate:0 -3px}}.card.click:hover .sheaf-sheet{transform:translate(-50%,-50%)var(--th)}.card.click:hover .sheaf-face{box-shadow:var(--sheaf-sh-hi),inset 0 0 0 1px var(--line)}.sheaf-page{width:100%;height:100%;opacity:var(--ink-op,1);position:absolute;inset:0}.sheaf-page rect{fill:var(--ink);transform-origin:0;transform:scaleX(0)}.sheaf.on .sheaf-page rect{animation:.42s cubic-bezier(.22,.61,.36,1) forwards sheaf-wipe;animation-delay:calc(.5s + var(--i)*35ms)}@keyframes sheaf-wipe{to{transform:scaleX(1)}}.sheaf-page text{fill:var(--ink);letter-spacing:.02em;opacity:0;font-family:inherit}.sheaf.on .sheaf-page text{animation:.42s forwards sheaf-fade;animation-delay:calc(.5s + var(--i)*35ms)}@keyframes sheaf-fade{to{opacity:var(--o,1)}}@media (prefers-reduced-motion:reduce){.sheaf-sheet{opacity:1!important;animation:none!important;translate:0!important}.sheaf-page rect{animation:none!important;transform:scaleX(1)!important}.sheaf-page text{opacity:var(--o,1)!important;animation:none!important}}.wire-pulse{transform-box:fill-box;transform-origin:50%;animation:2s ease-out infinite wire-pulse}@keyframes wire-pulse{0%{opacity:.8;transform:scale(.35)}65%,to{opacity:0;transform:scale(1.1)}}.cv{padding:clamp(26px,3vw,44px) clamp(22px,2.6vw,44px) clamp(30px,3.4vw,48px)}.cv-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;padding-right:52px;display:flex}.cv-links{font-size:var(--t-14);color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;margin-top:10px;display:flex}.cv-links a{color:var(--ink-2);transition:color .2s}.cv-links a:hover{color:var(--ink)}a.cv-dl{height:38px;font-family:var(--font-bento-mono);font-size:var(--t-14);background:var(--ink);color:var(--card);border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:0 16px;font-weight:500;transition:transform .2s,box-shadow .25s,opacity .2s;display:inline-flex}a.cv-dl:hover{transform:translateY(-2px)}a.cv-dl:active{transform:translateY(0)scale(.97)}.cv-grid{grid-template-columns:1.55fr 1fr;gap:clamp(26px,3vw,52px);margin-top:clamp(26px,3vw,38px);display:grid}.cv-role{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.cv-role:first-of-type{border-top:none;margin-top:0;padding-top:0}.cv-role-head{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.cv-role-head h3{font-size:var(--t-14);letter-spacing:0;font-weight:500;line-height:1.5}.cv-period{font-size:var(--t-14);letter-spacing:0;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:500}.cv-title{font-size:var(--t-14);color:var(--ink-2);margin-top:3px}.cv-role ul{flex-direction:column;gap:9px;margin:12px 0 0;padding:0;list-style:none;display:flex}.cv-role li{font-size:var(--t-14);color:var(--ink-2);text-wrap:pretty;padding-left:16px;line-height:1.5;position:relative}.cv-role li:before{content:"";background:var(--ink-30);border-radius:999px;width:4px;height:4px;position:absolute;top:8.5px;left:2px}.cv-side{flex-direction:column;gap:clamp(20px,2.2vw,28px);display:flex}@media (max-width:820px){.cv-grid{grid-template-columns:1fr}}
