:root{--c-page:#ffffff;--c-surface:#f5f5f5;--c-tile:#f1f1f1;--c-ink:#1d2128;--c-ink-strong:#111111;--c-muted:#666666;--c-grey-60:#999999;--c-border:#e1e1e1;--c-dark-a:#3d3d3d;--c-dark-b:#1c1c1c;--c-chip:#303031;--c-lime-a:#e7ff7a;--c-lime-b:#d8ff00;--c-lime-edge:#97bf44;--r-card:12px;--r-tile:8px;--r-media:36px;--r-pill:999px;--f-sans:"Onest",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--t-display:clamp(24px,4.4vw,32px);--t-card:22px;--t-body:16px;--t-label:14px;--t-micro:12px;--ls-wide:0.96px;--lh-body:1.24;--e-avatar:40px 92px 40px rgba(0,0,0,.01),23px 52px 34px rgba(0,0,0,.04),10px 23px 25px rgba(0,0,0,.07),3px 6px 14px rgba(0,0,0,.08);--e-card:40px 92px 20px rgba(0,0,0,.01),23px 52px 17px rgba(0,0,0,.04),10px 23px 12.5px rgba(0,0,0,.07),3px 6px 7px rgba(0,0,0,.08);--e-tile:0 96px 39px rgba(0,0,0,.01),0 54px 33px rgba(0,0,0,.03),0 24px 24px rgba(0,0,0,.04),0 6px 13px rgba(0,0,0,.05);--e-tile-inset:inset 0 -1px 2px rgba(0,0,0,.2),inset 0 2px 1px #ffffff;--e-scroller:0px 3px 1.5px rgba(0,0,0,.10),60px 50px 40px rgba(0,0,0,.15),20px 41.778px 16.711px rgba(0,0,0,.15),10px 22.336px 8.935px rgba(0,0,0,.14),4px 12.522px 5.009px rgba(0,0,0,.14),0px 6.65px 2.66px rgba(0,0,0,.13),0px 2.767px 1.107px rgba(0,0,0,.12);--e-scroller-inset:inset 0 -2px 0 #1a1a1a,inset 0 0 2px rgba(255,255,255,.1),inset 0 0 1px #000000;--e-resume:4px 8px 2px rgba(0,0,0,.08);--e-resume-inset:inset 0 -1px .5px var(--c-lime-edge),inset 0 1px 0 #ffffff;--pad:24px;--gap:20px;--w-sidebar:clamp(400px,36.2vw,695px);--w-feed:1031px;--w-rail:194px;--ease:cubic-bezier(.2,.7,.3,1)}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--c-page);color:var(--c-ink);font-family:var(--f-sans);font-size:var(--t-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{display:block;max-width:100%}p{margin:0}h1,h2,h3{margin:0;font-weight:600}button{font:inherit;background:none;border:0;padding:0;cursor:pointer}a,button{color:inherit}a{text-decoration:none}ul{margin:0;padding:0;list-style:none}:where(a,button):focus-visible{outline:2px solid var(--c-ink);outline-offset:3px;border-radius:6px}.on-dark :where(a,button):focus-visible{outline-color:var(--c-lime-b)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.shell{align-items:center;height:100vh;height:100dvh;max-width:1920px;margin-inline:auto}.shell,.sidebar{display:flex;justify-content:space-between}.sidebar{flex-direction:column;gap:var(--gap);width:var(--w-sidebar);flex:0 0 auto;height:100%;padding:var(--pad);overflow-y:auto;scrollbar-width:none}.sidebar::-webkit-scrollbar{width:0}.sidebar__top{display:flex;flex-direction:column;gap:var(--gap)}.card{background:var(--c-surface);border-radius:var(--r-card);padding:16px 20px 16px 16px}.profile{display:flex;align-items:center;gap:var(--gap)}.avatar{flex:0 0 auto;width:72px;height:72px;border-radius:var(--r-pill);border:2px solid var(--c-border);background:linear-gradient(180deg,var(--c-dark-a) 0,var(--c-dark-b) 100%);box-shadow:var(--e-avatar);overflow:hidden}.avatar>img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.profile__text{display:flex;flex-direction:column;gap:8px;min-width:0}.profile__name{font-size:var(--t-display);font-weight:600;line-height:1;color:var(--c-ink)}.profile__role{font-size:var(--t-body)}.bio,.profile__role{color:var(--c-muted)}.bio{flex-direction:column;gap:9px}.bio,.stack{display:flex}.stack{align-items:center;gap:16px;min-height:74px}.stack__label{font-size:var(--t-label);font-weight:600;line-height:1;letter-spacing:var(--ls-wide);color:var(--c-grey-60);white-space:nowrap}.stack__icons{display:flex;gap:12px;flex-wrap:wrap}.stack__icons img{width:34px;height:34px;border-radius:var(--r-tile);object-fit:contain}.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--gap);gap:var(--gap)}.service{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:16px;min-height:122px;padding:16px;border:1px solid transparent;border-radius:var(--r-card);background:var(--c-surface);color:var(--c-ink-strong);text-align:left;container-type:inline-size;transform:translateZ(0);transition:transform .34s var(--ease),color .28s var(--ease),border-color .28s var(--ease)}.service:after,.service:before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .28s var(--ease)}.service:before{z-index:-1;background:linear-gradient(180deg,var(--c-dark-a) 0,var(--c-dark-b) 100%)}.service:after{z-index:-2;box-shadow:var(--e-card)}.service:hover{transform:translate3d(0,-2px,0)}.service:hover:after{opacity:.55}.service[aria-pressed=true]{border-color:var(--c-border);color:#ffffff}.service[aria-pressed=true]:after,.service[aria-pressed=true]:before{opacity:1}.service[aria-pressed=true]:focus-visible{outline-color:var(--c-lime-b)}.service__tile{display:grid;place-items:center;flex:0 0 auto;width:50px;height:50px;border-radius:var(--r-tile);background:var(--c-tile);box-shadow:var(--e-tile),var(--e-tile-inset);overflow:hidden}.service__tile svg{width:24px;height:24px;color:var(--c-ink)}.service__label{font-weight:600;line-height:1.1;font-size:20px;font-size:clamp(16px,7cqw,22px)}.contact{display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:var(--r-card);background:var(--c-ink);color:#ffffff}.contact__label{font-size:var(--t-label);font-weight:600;line-height:1}.contact__row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.socials{display:flex;gap:12px}.socials a{position:relative;isolation:isolate;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-tile);background:var(--c-chip);transform:translateZ(0);transition:transform .28s var(--ease)}.socials a:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:#4c4c50;opacity:0;transition:opacity .24s var(--ease)}.socials a:hover{transform:translate3d(0,-2px,0)}.socials a:hover:before{opacity:1}.socials img{width:20px;height:20px}.resume{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:8px;width:103px;padding:9px 14px;border-radius:var(--r-tile);background:linear-gradient(179.63deg,var(--c-lime-a) 1.01%,var(--c-lime-b) 105.12%);box-shadow:var(--e-resume),var(--e-resume-inset);color:var(--c-ink);font-size:var(--t-micro);font-weight:700;line-height:1;letter-spacing:var(--ls-wide);text-transform:uppercase;transform:translateZ(0);transition:transform .28s var(--ease)}.resume:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:#ffffff;opacity:0;transition:opacity .24s var(--ease)}.resume:hover{transform:translate3d(0,-2px,0)}.resume:hover:after{opacity:.3}.resume img,.resume svg{width:14px;height:14px}.pane{align-items:center;flex:1 1 auto;min-width:0}.feed,.pane{display:flex;height:100%}.feed{flex-direction:column;gap:var(--pad);width:var(--w-feed);max-width:100%;flex:1 1 auto;padding:var(--pad);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.feed::-webkit-scrollbar{width:0}.work{flex:0 0 auto}.work img{width:100%;aspect-ratio:1600/1200;object-fit:cover;border-radius:var(--r-media);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.work[hidden]{display:none}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:auto 0;padding:48px;border:1px dashed var(--c-border);border-radius:var(--r-media);background:var(--c-surface)}.empty h2{font-size:var(--t-card)}.empty p{color:var(--c-muted);max-width:46ch}.empty button{padding:10px 16px;border-radius:var(--r-tile);background:var(--c-ink);color:#ffffff;font-size:var(--t-label);font-weight:600}.empty[hidden]{display:none}.rail{display:grid;place-items:center;flex:0 0 auto;width:var(--w-rail);height:100%;padding:10px 36px}.scroller{display:flex;flex-direction:column;gap:50px;padding:24px;border:1px solid #ffffff;border-radius:var(--r-pill);box-shadow:var(--e-scroller),var(--e-scroller-inset);background-image:radial-gradient(circle 152.7px at 28.1% -10.4%,rgba(255,255,255,.2) 0,rgba(255,255,255,0) 100%),radial-gradient(ellipse 62.4px 116px at 50.3% 43.4%,#555d64 0,#3c4146 50%,#232628 100%);position:relative;isolation:isolate}.scroller:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;opacity:.2;background-image:url(https://www.figma.com/api/mcp/asset/d5588211-8424-45cb-90d2-a4205c5254ef.png);background-size:4px 4px;background-position:0 0;pointer-events:none}.scroll-btn{position:relative;width:72px;height:72px;transform:translateZ(0);transition:transform .26s var(--ease),opacity .26s var(--ease)}.scroll-btn img{position:absolute;width:auto;height:auto;max-width:none;pointer-events:none}.scroll-btn--up img{inset:-88.1% -28.57% -7.14% -28.57%}.scroll-btn--down img{inset:-7.14% -28.57% -88.1% -28.57%}.scroll-btn:hover:not([disabled]){transform:translateZ(0) scale(1.08)}.scroll-btn:active:not([disabled]){transform:translateZ(0) scale(.94)}.scroll-btn[disabled]{opacity:.35;cursor:default}@media (max-width:1440px){:root{--w-rail:128px}.rail{padding:10px 16px}.scroller{gap:28px;padding:16px}.scroll-btn{width:54px;height:54px}}@media (max-width:1200px){.rail{display:none}.feed{scrollbar-width:thin}}@media (max-width:1100px){.shell{flex-direction:column;align-items:stretch;height:auto}.sidebar{overflow:visible}.feed,.pane,.sidebar{width:100%;height:auto}.feed{overflow:visible;padding-top:0;padding-bottom:40px}.empty{margin:0}}@media (max-width:600px){:root{--pad:16px;--gap:14px;--r-media:22px}.card{padding:14px 16px}.profile{gap:14px}.avatar{width:60px;height:60px}.stack{flex-direction:column;align-items:flex-start;gap:12px;min-height:0}.stack__icons{gap:10px}.service{min-height:108px;gap:12px;padding:14px}.service__tile{width:44px;height:44px}.contact__row{gap:16px}}@media (max-width:380px){.socials{gap:8px}.socials a{width:32px;height:32px}.socials img{width:18px;height:18px}.resume{width:auto}}@media (prefers-reduced-motion:reduce){.feed{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}