*{box-sizing:border-box}html,body{color:#111;--vh-full:100dvh;--site-content-width:680px;--site-page-padding:64px 28px 48px;--site-page-padding-mobile:40px 16px calc(24px + env(safe-area-inset-bottom,0px));background:#edf1f2;margin:0;padding:0;font-family:Manrope,system-ui,sans-serif;overflow:hidden auto}html.site-dark,html.site-dark body{background:#000}::selection{color:#111;background:#fe7948}::selection{color:#111;background:#fe7948}a:focus-visible,button:focus-visible{outline-offset:3px;outline:2px solid #ff4112}html.cursor-ready,html.cursor-ready body{cursor:none}.cursor,.cursor-dot{pointer-events:none;z-index:9999;background:#000000d9;border-radius:50%;width:6px;height:6px;position:fixed;transform:translate(-50%,-50%)}.cursor-follower,.cursor-ring{pointer-events:none;z-index:9998;opacity:.8;border:1px solid #0000004d;border-radius:50%;width:24px;height:24px;position:fixed;transform:translate(-50%,-50%)}.cursor.click,.cursor-dot.click{transform:translate(-50%,-50%)scale(.6)}.cursor-follower.click,.cursor-ring.click{opacity:.5;transform:translate(-50%,-50%)scale(.55)}@media (max-width:640px){html,body{cursor:auto}.cursor,.cursor-follower,.cursor-dot,.cursor-ring{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html,body{cursor:auto}.cursor,.cursor-follower,.cursor-dot,.cursor-ring{display:none}}.notfound-page{min-height:var(--vh-full);height:var(--vh-full);color:#111;background:#edf1f2;justify-content:center;align-items:center;margin:0;display:flex;position:relative;overflow:visible}.notfound-wrap{text-align:center;max-width:var(--site-content-width);z-index:1;width:100%;padding:24px;position:relative}.notfound-code{letter-spacing:.08em;color:#0000;background:linear-gradient(90deg,#111 0%,#777 50%,#111 100%) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:56px;font-weight:600;animation:6s ease-in-out infinite notfoundSweep}.notfound-title{white-space:nowrap;margin:0 0 12px;font-size:28px;font-weight:600}.notfound-wrap p{color:#555;margin:0 0 24px;font-size:15px;line-height:1.5}.notfound-wrap a{color:#111;border-bottom:1px solid #999;font-size:13px;text-decoration:none}.notfound-wrap a:not(.coming-button):hover{color:#ff4112;border-color:#ff4112}.notfound-wrap .coming-button{border-color:#111}.notfound-wrap .coming-button:hover{color:#edf1f2;background:#111;border-color:#111}.notfound-particles{pointer-events:none;opacity:.55;position:fixed;inset:0}.notfound-particles:before,.notfound-particles:after{content:"";background-image:radial-gradient(circle,#11111129 1.2px,#0000 1.2px),radial-gradient(circle,#1111111f 1.2px,#0000 1.2px);background-position:0 0,40px 60px;background-size:70px 70px,120px 120px;animation:18s linear infinite particleFloat;position:absolute;inset:-20%}.notfound-particles:after{opacity:.6;animation-duration:26s;animation-direction:reverse}@keyframes notfoundSweep{0%{background-position:200%}50%{background-position:0%}to{background-position:200%}}@keyframes particleFloat{0%{transform:translate(0,0)}50%{transform:translate(20px,-30px)}to{transform:translate(0,0)}}.about-page{min-height:var(--vh-full);color:#111;background:#edf1f2;height:auto;overflow:hidden auto}.about-page:before{content:"";pointer-events:none;opacity:.25;z-index:0;background-image:url("data:image/svg+xml;utf8,    <svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'>      <filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8'/></filter>      <rect width='100%' height='100%' filter='url(%23n)'/>    </svg>");position:fixed;inset:0}.about-content{z-index:1;min-height:var(--vh-full);padding:var(--site-page-padding);position:relative;overflow:visible}.about-wrap{max-width:var(--site-content-width);width:100%;margin:0 auto;position:relative}.about-header{flex-direction:column;gap:8px;margin:0 0 32px;display:flex}.about-top{justify-content:space-between;align-items:center;margin-bottom:48px;display:flex}.about-page h1{margin:0;font-size:36px;font-weight:500}.about-back{color:#666;border-bottom:1px solid #999;font-size:13px;text-decoration:none}.about-back:hover{color:#ff4112;border-color:#ff4112}.about-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:48px;display:grid}.about-image{background:#ddd;border-radius:8px;width:100%;height:420px;overflow:hidden}.about-image img{object-fit:cover;filter:grayscale();width:100%;height:100%;display:block}.about-text p{color:#444;margin:0 0 16px;font-size:15px;line-height:1.55}.about-text p:last-child{margin-bottom:0}.about-desktop{display:block}.about-desktop-frame{color:#111;max-width:760px;margin:0 auto;font-family:Manrope,sans-serif;font-size:12px;font-weight:600;position:relative}.about-desktop-intro{align-items:center;gap:12px;width:357px;font-size:12px;font-weight:600;display:flex}.about-desktop-intro-wrap{max-width:760px;margin:0 auto 20px}.about-desktop-intro span:last-child{margin-left:auto}.about-desktop-intro .about-mobile-arrow{width:86px;height:8px;line-height:0}.about-body-shared{flex-direction:column;align-items:stretch;gap:24px;display:flex}.about-desktop-photo{aspect-ratio:357/543;background:#d9d9d9;border-radius:12px;width:100%;position:relative;overflow:hidden}.about-desktop-photo .about-photo{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.about-text-shared{color:#444;width:100%;font-family:Manrope,sans-serif;font-size:14px;font-weight:500;line-height:1.6;position:static}.about-text-shared p{margin:0 0 16px;font-weight:500}.about-text-shared p:last-child{margin-bottom:0}.about-text-shared a{color:#111;text-underline-offset:2px;text-decoration:underline}.about-text-stack{flex-direction:column;justify-content:flex-start;gap:24px;display:flex}@media (max-width:900px){.about-layout{grid-template-columns:1fr}.about-image{height:320px}}@media (max-width:640px){.about-wrap{max-width:100%;position:static;transform:none}.about-header{margin-bottom:24px;padding:0}.about-body-shared{max-width:100%;margin:0;padding:0}.about-desktop-photo{aspect-ratio:357/543;border-radius:12px;width:100%;height:auto;margin-bottom:0}.about-text-shared{color:#444;width:auto;font-size:14px;line-height:1.65;position:static}.about-text-shared p{margin:0 0 18px;font-weight:500}.about-text-shared p:last-child{margin-bottom:0}.about-text-shared a{color:#111;text-underline-offset:3px;text-decoration:underline}}@media (min-width:641px){.about-wrap{transform:none}}.playground-page{color:#111;background:#edf1f2;min-height:100%}.playground-page ::selection{color:#000;background:#fe7948}.playground-content{min-height:var(--vh-full);padding:var(--site-page-padding)}.playground-wrap{max-width:var(--site-content-width);width:100%;margin:0 auto}.playground-index{flex-direction:column;gap:28px;display:flex}.playground-index-header{flex-direction:column;gap:8px;display:flex}.playground-index-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#666;margin:0;font-size:12px}.playground-eyebrow-back{color:inherit;letter-spacing:inherit;text-transform:inherit;align-items:center;gap:10px;text-decoration:none;transition:color .2s;display:inline-flex}.playground-eyebrow-back:hover{color:#111}.playground-eyebrow-arrow{width:28px;display:inline-flex;transform:scaleX(-1)}.playground-eyebrow-arrow img{width:100%;height:auto;display:block}.playground-index-title{color:#111;margin:0;font-size:clamp(32px,6vw,44px);font-weight:600;line-height:1.1}.playground-index-note{color:#555;margin:4px 0 0;font-size:15px;line-height:1.55}.playground-tool-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.playground-tool-card{color:inherit;background:#ffffff8c;border:1px solid #1111111f;border-radius:16px;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:4px 12px;padding:18px 20px;text-decoration:none;transition:border-color .2s,background .2s,transform .2s;display:grid}.playground-tool-card:hover{background:#ffffffd9;border-color:#11111147;transform:translateY(-1px)}.playground-tool-title{color:#111;grid-area:1/1;font-size:18px;font-weight:600}.playground-tool-desc{color:#666;grid-area:2/1;font-size:14px;line-height:1.45}.playground-tool-arrow{color:#999;grid-area:1/2/span 2;align-self:center;font-size:18px;transition:color .2s,transform .2s}.playground-tool-card:hover .playground-tool-arrow{color:#111;transform:translate(2px)}.playground-tool-card-external .playground-tool-external-icon{opacity:.35;transition:opacity .2s,transform .2s,color .2s;display:inline-block;transform:translate(0)}.playground-tool-card-external:hover .playground-tool-arrow{transform:none}.playground-tool-card-external:hover .playground-tool-external-icon{opacity:1;transform:translate(3px,-3px)}.playground-coming{min-height:calc(var(--vh-full) - 200px);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;margin-top:0;display:flex}.playground-coming .coming-logo{width:100px;height:100px;display:block}.playground-coming .coming-note{color:#666;margin:0;font-size:14px}.playground-coming .coming-title{color:#0000;background:linear-gradient(120deg,#111 0%,#fff 45%,#111 55% 100%) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text;margin:0;font-size:38px;font-weight:600;animation:6s linear infinite glowSweep}.coming-actions{gap:10px;margin-top:8px;display:flex}.coming-button{color:#111;border:1px solid #111;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:13px;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s,padding .2s;display:inline-flex;position:relative}.coming-button:hover{color:#edf1f2;background:#111;padding-left:24px;padding-right:24px;transform:translateY(-1px)}.coming-button-icon{opacity:0;transition:opacity .2s,transform .2s;position:absolute;right:14px;transform:translateY(2px)}.coming-button:hover .coming-button-icon{opacity:1;transform:translateY(0)}.coming-button-label{text-align:center;width:100%;display:block}.coming-button-behance{padding-right:20px}.coming-button-behance:hover{color:#fff;background:#1769ff;border-color:#1769ff;padding-right:34px}@media (max-width:640px){.about-content,.playground-content,.work-content,.vh-page{padding:var(--site-page-padding-mobile)}}.playground-stamps{flex-direction:column;gap:20px;display:flex}.playground-stamps-header{width:100%}.playground-stamps-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#666;margin:0 0 8px;font-size:12px;font-weight:600}.playground-stamps-title{margin:0 0 12px;font-size:42px;font-weight:600;line-height:1.08}.playground-stamps-note{color:#666;margin:0;font-size:15px;line-height:1.6}.playground-stamps-sync{letter-spacing:.04em;text-transform:uppercase;color:#888;margin:10px 0 0;font-size:12px;font-weight:600}.playground-stamps-error{color:#c2410c;margin:8px 0 0;font-size:13px;line-height:1.5}.playground-stamps-palette{background:#ffffff73;border:1px solid #0000001a;border-radius:16px;flex-wrap:wrap;gap:10px;padding:12px;display:flex}.playground-stamps-pick{cursor:pointer;color:#111;background:#ffffffb3;border:1px solid #00000014;border-radius:14px;place-items:center;width:64px;height:64px;padding:6px;transition:border-color .15s,transform .15s,background .15s;display:inline-grid}.playground-stamps-pick:hover{border-color:#0003;transform:translateY(-1px)}.playground-stamps-pick.active{background:#fff;border-color:#ff4112;box-shadow:0 0 0 1px #ff4112}.playground-stamps-pick-text,.playground-stamps-text{letter-spacing:.02em;text-transform:lowercase;color:#111;font-size:14px;font-weight:600}.playground-mood-pick{flex-direction:column;gap:4px;width:auto;min-width:72px;height:auto;padding:10px 12px 8px;display:inline-flex}.playground-mood-pick-emoji{font-size:26px;line-height:1}.playground-mood-pick-label{letter-spacing:.02em;color:#666;font-size:11px;font-weight:600}.playground-mood-piece{cursor:grab;background:0 0;border:0;width:auto;height:auto;padding:0}.playground-mood-piece.naming{opacity:.72}.playground-mood-stamp{text-align:center;background:#ffffffeb;border:1px solid #0000001a;border-radius:14px;flex-direction:column;align-items:center;gap:2px;min-width:88px;padding:10px 12px 8px;display:flex;box-shadow:0 6px 18px #00000014}.playground-mood-stamp-emoji{font-size:28px;line-height:1}.playground-mood-stamp-name{color:#111;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:12px;font-weight:600;overflow:hidden}.playground-mood-stamp-date{letter-spacing:.02em;color:#888;font-size:10px;font-weight:500}.playground-mood-modal{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11111147;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.playground-mood-modal-card{text-align:center;background:#f7f9fa;border:1px solid #0000001a;border-radius:18px;width:min(100%,320px);padding:22px 20px 18px;box-shadow:0 18px 48px #00000024}.playground-mood-modal-emoji{margin-bottom:8px;font-size:36px;line-height:1;display:block}.playground-mood-modal-title{color:#111;margin:0 0 6px;font-size:20px;font-weight:600}.playground-mood-modal-note{color:#666;margin:0 0 14px;font-size:13px;line-height:1.5}.playground-mood-modal-input{width:100%;font:inherit;color:#111;background:#fff;border:1px solid #0000001f;border-radius:12px;margin-bottom:14px;padding:11px 12px;font-size:14px}.playground-mood-modal-input:focus{outline-offset:1px;border-color:#0000;outline:2px solid #ff4112}.playground-mood-modal-actions{justify-content:center;gap:10px;display:flex}.playground-mood-modal-submit{color:#edf1f2;background:#111;border-color:#111}.playground-mood-modal-submit:hover:not(:disabled){color:#fff;background:#ff4112;border-color:#ff4112}.playground-stamps-board{cursor:copy;touch-action:none;background-color:#f7f9fa;background-image:radial-gradient(circle,#0000000d 1px,#0000 1px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #0000001a;border-radius:18px;height:min(58vh,560px);min-height:420px;position:relative;overflow:hidden}.playground-stamps-hint{text-align:center;color:#888;pointer-events:none;place-items:center;margin:0;padding:24px;font-size:14px;display:grid;position:absolute;inset:0}.playground-stamps-piece{cursor:grab;color:#111;touch-action:none;background:0 0;border:0;padding:0;position:absolute}.playground-stamps-piece:active{cursor:grabbing}.playground-stamps-piece.selected{outline-offset:6px;outline:2px dashed #ff4112}.playground-stamps-actions{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.playground-stamps-action{color:#111;font:inherit;cursor:pointer;background:0 0;border:1px solid #00000024;border-radius:999px;padding:8px 16px;font-size:13px;transition:background .18s,border-color .18s,color .18s}.playground-stamps-action:hover:not(:disabled){border-color:#111}.playground-stamps-action:disabled{opacity:.45;cursor:not-allowed}.playground-stamps-count{color:#777;margin-left:auto;font-size:12px}@media (max-width:640px){.playground-stamps-title{font-size:30px}.playground-stamps-palette{gap:8px}.playground-stamps-pick{width:56px;height:56px}.playground-stamps-board{height:48vh;min-height:320px}.playground-stamps-count{width:100%;margin-left:0}}html.site-dark .playground-stamps-eyebrow,html.site-dark .playground-stamps-note,html.site-dark .playground-stamps-count,html.site-dark .playground-stamps-hint,html.site-dark .playground-stamps-sync{color:#929292}html.site-dark .playground-stamps-error{color:#ff8a5c}html.site-dark .playground-stamps-title{color:#f3f3f1}html.site-dark .playground-stamps-palette{background:#1818188c;border-color:#ffffff1a}html.site-dark .playground-stamps-pick{color:#f3f3f1;background:#00000059;border-color:#ffffff1f}html.site-dark .playground-stamps-pick.active{border-color:#fe7948;box-shadow:0 0 0 1px #fe7948}html.site-dark .playground-stamps-pick-text,html.site-dark .playground-stamps-text{color:#f3f3f1}html.site-dark .playground-mood-pick-label{color:#9a9a96}html.site-dark .playground-mood-stamp{background:#141414eb;border-color:#ffffff1f;box-shadow:0 8px 24px #00000059}html.site-dark .playground-mood-stamp-name{color:#f3f3f1}html.site-dark .playground-mood-stamp-date{color:#9a9a96}html.site-dark .playground-mood-modal-card{background:#111;border-color:#ffffff1f}html.site-dark .playground-mood-modal-title{color:#f3f3f1}html.site-dark .playground-mood-modal-note{color:#9a9a96}html.site-dark .playground-mood-modal-input{color:#f3f3f1;background:#000;border-color:#ffffff24}html.site-dark .playground-mood-modal-submit{color:#111;background:#f3f3f1;border-color:#f3f3f1}html.site-dark .playground-mood-modal-submit:hover:not(:disabled){color:#fff;background:#ff4112;border-color:#ff4112}html.site-dark .playground-stamps-board{background-color:#0d0d0d;background-image:radial-gradient(circle,#ffffff0f 1px,#0000 1px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-color:#ffffff1a}html.site-dark .playground-stamps-piece{color:#f3f3f1}html.site-dark .playground-stamps-action{color:#f3f3f1;border-color:#ffffff29}html.site-dark .playground-stamps-action:hover:not(:disabled){border-color:#f3f3f1}html.site-dark .playground-index-eyebrow,html.site-dark .playground-stamps-eyebrow,html.site-dark .playground-index-note,html.site-dark .playground-tool-desc,html.site-dark .playground-tool-arrow{color:#9a9a96}html.site-dark .playground-eyebrow-back:hover{color:#f3f3f1}html.site-dark .playground-eyebrow-arrow img{filter:brightness(.72)}html.site-dark .playground-index-title,html.site-dark .about-header .playground-index-title,html.site-dark .playground-tool-title{color:#f3f3f1}html.site-dark .playground-tool-card{background:#ffffff0a;border-color:#f3f3f124}html.site-dark .playground-tool-card:hover{background:#ffffff14;border-color:#f3f3f147}html.site-dark .playground-tool-card:hover .playground-tool-arrow,html.site-dark .playground-tool-card-external:hover .playground-tool-external-icon{color:#f3f3f1}.vh-page{color:#111;z-index:1;padding:var(--site-page-padding);background:#edf1f2;position:relative}.vh-page:before{content:"";pointer-events:none;opacity:.25;background-image:url("data:image/svg+xml;utf8,    <svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'>      <filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8'/></filter>      <rect width='100%' height='100%' filter='url(%23n)'/>    </svg>");position:fixed;inset:0}.vh-wrap{max-width:var(--site-content-width);width:100%;margin:0 auto}.vh-top{margin-bottom:64px}.vh-back{color:#666;border-bottom:1px solid #999;margin-bottom:16px;font-size:13px;text-decoration:none;display:inline-block}.vh-back:hover{color:#ff4112;border-color:#ff4112}.vh-page h1{margin:0 0 8px;font-size:36px;font-weight:500}.vh-subtitle{color:#666;font-size:14px}.vh-meta{color:#555;grid-template-columns:repeat(3,1fr);gap:24px;margin:48px 0;font-size:13px;display:grid}.vh-meta strong{color:#111;margin-bottom:4px;font-weight:500;display:block}.vh-section{margin-bottom:56px}.vh-section h2{margin:0 0 12px;font-size:18px;font-weight:500}.vh-section p{color:#444;margin:0;font-size:15px;line-height:1.6}.vh-list{margin-top:12px;padding-left:18px}.vh-list li{color:#444;margin-bottom:8px;font-size:15px;line-height:1.5}.vh-two-col{grid-template-columns:1fr 1fr;gap:48px;display:grid}.vh-divider{background:#00000014;height:1px;margin:72px 0}.vh-closing{color:#444;font-size:15px;line-height:1.6}@media (max-width:768px){.vh-page h1{font-size:30px}.vh-meta,.vh-two-col{grid-template-columns:1fr}}@media (max-width:640px){.vh-page{padding-left:16px;padding-right:16px}}.home-page{min-height:var(--vh-full);color:#111;background:#edf1f2;transition:background-color .25s,color .25s;position:relative;overflow:hidden}.home-page:before{content:"";pointer-events:none;opacity:.25;z-index:0;background-image:url("data:image/svg+xml;utf8,    <svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'>      <filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8'/></filter>      <rect width='100%' height='100%' filter='url(%23n)'/>    </svg>");position:fixed;inset:0}.home-page .sticker-v{will-change:transform;pointer-events:none;z-index:2;width:76px;height:76px;transition:transform .15s ease-out;position:absolute;top:-36px;left:-48px;transform:rotate(-30deg)}@keyframes homeFadeUp{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes homeSlideUp{0%{transform:translateY(-14px)}to{transform:translateY(0)}}.fade-up{opacity:0;animation:.9s ease-out forwards homeFadeUp}.fade-up.delay-1{animation-delay:.12s}.fade-up.delay-2{animation-delay:.22s}.fade-up.delay-3{animation-delay:.34s}.fade-up.delay-4{animation-delay:.46s}@keyframes imageFade{0%{opacity:0;filter:blur(6px);transform:translateY(10px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.fade-image{opacity:0;animation:1.1s ease-out .25s forwards imageFade}.fade-up-glow{opacity:1;animation:.9s ease-out .12s forwards homeSlideUp,6s linear infinite forwards glowSweep}.home-page .home-hero{opacity:1}.home-page .home-fade{opacity:0;animation:.9s ease-out .12s forwards homeFadeUp}.home-page .statement-group.home-fade{animation-delay:.22s}.home-page .section.home-fade{animation-delay:.34s}.home-page .contact.home-fade{animation-delay:.46s}@media (prefers-reduced-motion:reduce){.fade-up,.fade-image,.fade-up-glow,.home-page .home-fade{opacity:1;filter:none;animation:none;transform:none}}.no-animate .fade-up,.no-animate .home-page .home-fade,.no-animate .fade-image,.no-animate .fade-up-glow{opacity:1;filter:none;animation:none;transform:none}.home-page .page{z-index:1;height:var(--vh-full);padding:var(--site-page-padding);flex-direction:column;justify-content:space-between;display:flex;position:relative}.home-page .wrap{max-width:var(--site-content-width);width:100%;margin:0 auto}.home-page .mobile-landing,.home-page .mobile-first-screen{display:contents}.home-page .layout{display:block}.home-page .content{max-width:var(--site-content-width)}.home-page .title-row{justify-content:space-between;align-items:center;display:flex}.home-page .menu-actions{align-items:center;gap:16px;display:flex}.home-page .theme-toggle{color:#111;cursor:pointer;background:0 0;border:0;place-items:center;width:22px;height:22px;padding:0;line-height:1;transition:color .18s,transform .18s;display:inline-grid}.home-page .theme-toggle .theme-icon{stroke-width:2px;width:20px;height:20px;display:block}.home-page .theme-toggle:hover{color:#ff4112;transform:rotate(12deg)}.home-page h1{margin:0;font-size:42px;font-weight:600}.home-page .menu{position:relative}.home-page .menu-button{cursor:pointer;-webkit-user-select:none;user-select:none;z-index:41;touch-action:manipulation;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:space-between;width:18px;height:12px;padding:0;display:flex;position:relative}.home-page .menu-button:focus-visible{outline-offset:4px;outline:2px solid #ff4112}.home-page .menu-button span{background:#111;height:1.5px;transition:transform .25s,opacity .2s;position:absolute;left:0;right:0}.home-page .menu-button span:first-child{top:0}.home-page .menu-button span:nth-child(2){top:5px}.home-page .menu-button span:nth-child(3){bottom:0}.home-page .menu-button.active span:first-child{transform:translateY(5px)rotate(45deg)}.home-page .menu-button.active span:nth-child(2){opacity:0}.home-page .menu-button.active span:nth-child(3){transform:translateY(-5px)rotate(-45deg)}.home-page .mobile-pill-menu{display:none}.home-page .menu-panel{opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:40;background:#edf1f2f2;border-radius:8px;flex-direction:column;gap:12px;padding:12px 16px;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:32px;right:0;transform:translateY(-4px);box-shadow:0 8px 24px #00000014}.home-page .menu-panel.show{opacity:1;pointer-events:auto;transform:translateY(0)}.home-page .menu-panel a{color:#111;padding:2px 0;font-size:13px;text-decoration:none;transition:transform .18s,color .18s}.home-page .menu-panel a:hover{color:#ff4112;transform:translate(4px)}.home-page .resume-row{align-items:center;display:flex}.home-page .resume-link{color:#111;align-items:center;gap:6px;font-size:13px;text-decoration:none;display:inline-flex}.home-page .resume-link:hover{color:#ff4112}.home-page .download-icon{fill:#888;width:16px;height:16px;transition:fill .18s,transform .18s}.home-page .resume-link:hover .download-icon{fill:#ff4112;transform:translateY(2px)}.home-page .meta{color:#666;margin-top:6px;font-size:14px}.home-page .meta a,.home-page .contact a,.home-page .contact button{color:#111;cursor:pointer;border-bottom:1px solid #999;text-decoration:none}.home-page .meta a:hover,.home-page .contact a:hover,.home-page .contact button:hover{color:#ff4112;border-color:#ff4112}.home-page .statement-group{margin-top:32px}.home-page .statement{color:#444;margin:0;font-size:16px;line-height:1.4}.home-page .statement strong{color:#111;font-weight:600}.home-page .muted{color:#666;margin-top:4px;font-size:13px;line-height:1.35}.home-page .section{margin-top:28px}.home-page .section-title{color:#666;margin-bottom:10px;font-size:14px;font-weight:500}.home-page .work-list{flex-direction:column;gap:14px;display:flex}.home-page .work-item{justify-content:space-between;font-size:15px;display:flex}.home-page .work-item span{color:#777;font-size:12px}.home-page .role-title{color:#666;font-size:12px}.home-page .contact{margin-top:28px;font-size:12px}.home-page .contact button{font:inherit;background:0 0;border:0;padding:0}.home-page .email-wrap{align-items:center;display:inline-flex;position:relative}.home-page .copy-hint{letter-spacing:.08em;text-transform:uppercase;color:#fff;opacity:0;pointer-events:none;background:#111111e6;border-radius:6px;padding:3px 6px;font-size:10px;transition:opacity .15s,transform .15s;position:absolute;top:-18px;left:50%;transform:translate(-50%)translateY(2px)}.home-page .copy-hint.show{opacity:1;transform:translate(-50%)translateY(0)}.home-page .image-wrap{border-radius:8px;width:100%;height:520px;position:relative;overflow:hidden}.home-page .image-wrap img{object-fit:cover;filter:grayscale();opacity:.9;width:100%;height:100%;display:block}.home-page .footer{color:#888;text-align:center;margin-top:32px;font-size:12px}.home-page .toast{color:#fff;opacity:0;pointer-events:none;z-index:10000;background:#000000e6;border-radius:8px;padding:12px 16px;font-size:12px;transition:opacity .24s,transform .24s;position:fixed;bottom:32px;left:50%;transform:translate(-50%)translateY(8px)}.home-page .toast.show{opacity:1;transform:translate(-50%)translateY(0)}html.site-dark .home-page{color:#f3f3f1;background:#000}html.site-dark .home-page:before{opacity:0}html.site-dark .home-page .cursor{background:#f3f3f1e6}html.site-dark .home-page .cursor-follower{border-color:#f3f3f159}html.site-dark .home-page .menu-panel a,html.site-dark .home-page .resume-link,html.site-dark .home-page .meta a,html.site-dark .home-page .contact a,html.site-dark .home-page .contact button,html.site-dark .home-page .statement strong{color:#f3f3f1}html.site-dark .home-page .meta a,html.site-dark .home-page .contact a,html.site-dark .home-page .contact button{border-color:#777}html.site-dark .home-page .theme-toggle{color:#f3f3f1}html.site-dark .home-page .menu-button span{background:#f3f3f1}html.site-dark .home-page .menu-panel{background:#181818f2;box-shadow:0 8px 24px #0000004d}html.site-dark .home-page .download-icon{fill:#aaa}html.site-dark .home-page .meta,html.site-dark .home-page .muted,html.site-dark .home-page .section-title,html.site-dark .home-page .role-title{color:#a8a8a8}html.site-dark .home-page .statement{color:#d0d0ce}html.site-dark .home-page .work-item span,html.site-dark .home-page .footer{color:#929292}@media (max-width:640px){.home-page{overflow:hidden auto}.home-page .mobile-landing{flex-direction:column;flex-shrink:0;display:flex}.home-page .mobile-first-screen{min-height:var(--vh-full);padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));flex-direction:column;flex-shrink:0;display:flex}.home-page .page{height:auto;min-height:var(--vh-full);padding:var(--site-page-padding-mobile);justify-content:flex-start}.home-page .wrap{flex:1 0 auto}.home-page .title-row{z-index:60;background:#edf1f2;margin-left:-16px;margin-right:-16px;padding:8px 16px;position:sticky;top:0}html.site-dark .home-page .title-row{background:#000}.home-page .layout{flex-direction:column;gap:20px;display:flex}.home-page h1{font-size:30px}.home-page .menu,.home-page .menu-panel{display:none}.home-page .menu-actions{flex-shrink:0;align-items:center;gap:16px;display:flex}.home-page .mobile-pill-menu{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#edf1f2b3;border:1px solid #fff9;border-radius:999px;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;width:auto;margin-top:0;padding:10px 14px;display:flex;position:fixed;box-shadow:0 10px 24px #0000001f}.home-page .footer{padding-top:20px;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));flex-shrink:0;margin-top:0;margin-bottom:0}.home-page .mobile-pill-menu a{color:#111;white-space:nowrap;border-bottom:1px solid #0000;font-size:13px;text-decoration:none}.home-page .mobile-pill-menu a:hover{color:#ff4112;border-color:#ff4112}html.site-dark .home-page .mobile-pill-menu{background:#181818c7;border-color:#ffffff29;box-shadow:0 10px 24px #00000059}html.site-dark .home-page .mobile-pill-menu a{color:#f3f3f1}}html.site-dark .cursor,html.site-dark .cursor-dot{background:#f3f3f1e6}html.site-dark .cursor-follower,html.site-dark .cursor-ring{border-color:#f3f3f159}html.site-dark .about-page,html.site-dark .playground-page,html.site-dark .work-page,html.site-dark .vh-page,html.site-dark .notfound-page{color:#f3f3f1;background:#000}html.site-dark .about-page:before,html.site-dark .work-page:before,html.site-dark .vh-page:before,html.site-dark .notfound-particles{opacity:0}html.site-dark .about-desktop-frame,html.site-dark .about-mobile-words,html.site-dark .about-mobile-intro,html.site-dark .about-text-shared a{color:#f3f3f1}html.site-dark .about-text-shared,html.site-dark .about-text-shared p{color:#d0d0ce}html.site-dark .about-mobile-arrow img{filter:invert()}html.site-dark .playground-coming .coming-note,html.site-dark .work-coming .coming-note,html.site-dark .notfound-wrap p{color:#a8a8a8}html.site-dark .playground-coming .coming-title,html.site-dark .work-coming .coming-title{background-image:linear-gradient(120deg,#f3f3f1 0%,#888 45%,#f3f3f1 55% 100%)}html.site-dark .coming-button{color:#f3f3f1;border-color:#f3f3f1}html.site-dark .coming-button:hover{color:#000;background:#f3f3f1}html.site-dark .coming-button-behance:hover{color:#fff;background:#1769ff;border-color:#1769ff}html.site-dark .notfound-code{background-image:linear-gradient(90deg,#f3f3f1 0%,#777 50%,#f3f3f1 100%)}html.site-dark .notfound-title{color:#f3f3f1}html.site-dark .vh-back,html.site-dark .vh-subtitle{color:#a8a8a8;border-color:#777}html.site-dark .vh-meta{color:#aaa}html.site-dark .vh-meta strong,html.site-dark .vh-page h1,html.site-dark .vh-section h2{color:#f3f3f1}html.site-dark .vh-section p,html.site-dark .vh-list li,html.site-dark .vh-closing{color:#d0d0ce}html.site-dark .vh-divider{background:#ffffff29}.work-page{color:#111;background:#edf1f2;position:relative}.work-page:before{content:"";pointer-events:none;opacity:.25;z-index:0;background-image:url("data:image/svg+xml;utf8,  <svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'>  <filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8'/></filter>  <rect width='100%' height='100%' filter='url(%23n)'/>  </svg>");position:fixed;inset:0}.work-content{max-width:var(--site-content-width);padding:var(--site-page-padding);z-index:1;min-height:var(--vh-full);width:100%;margin:0 auto;position:relative}.work-coming{min-height:calc(var(--vh-full) - 220px);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.work-coming .coming-logo{width:100px;height:100px;display:block}.work-coming .coming-note{color:#666;margin:0;font-size:14px}.work-coming .coming-title{color:#0000;background:linear-gradient(120deg,#111 0%,#fff 45%,#111 55% 100%) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text;margin:0;font-size:38px;font-weight:600;animation:6s linear infinite glowSweep}@keyframes glowSweep{0%{background-position:200%}to{background-position:0%}}
@font-face{font-family:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(../media/a342834df7752944-s.bb140f9f.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:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.50575af1.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.78d1a7ae.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.247c8473.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:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.18d7c7dc.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.71e1367e.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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a342834df7752944-s.bb140f9f.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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.50575af1.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.78d1a7ae.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.247c8473.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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.18d7c7dc.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.71e1367e.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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a342834df7752944-s.bb140f9f.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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.50575af1.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.78d1a7ae.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.247c8473.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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.18d7c7dc.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.71e1367e.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a342834df7752944-s.bb140f9f.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.50575af1.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.78d1a7ae.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.247c8473.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.18d7c7dc.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.71e1367e.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a342834df7752944-s.bb140f9f.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.50575af1.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.78d1a7ae.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.247c8473.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.18d7c7dc.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.71e1367e.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:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_50416916-module__3wf3iW__className{font-family:Manrope,Manrope Fallback;font-style:normal}
