@font-face{font-family:Geist;src:url(/assets/fonts/Geist-Regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/fonts/GeistMono-Regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{color:#111;--muted:#6a6a6a;--page-padding:32px;--radius:12px;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#fff;font-family:Geist,Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.3}*{box-sizing:border-box}body{margin:0}.page-transition{z-index:9999;width:100%;height:100%;image-rendering:pixelated;touch-action:none;position:fixed;inset:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto}p,h1,h2,h3{font-size:inherit;margin:0;font-weight:400}ul{margin:0;padding:0;list-style:none}img{display:block}[hidden]{display:none!important}:focus-visible{outline-offset:5px;outline:2px solid #1673ff}.skip-link{z-index:10;background:#fff;padding:12px;position:fixed;top:-100px;left:24px}.skip-link:focus{top:12px}.portfolio{width:100%;max-width:1024px;padding:var(--page-padding);grid-template-columns:320px minmax(0,1fr);align-items:start;gap:60px;min-height:100svh;margin-inline:auto;display:grid}.intro{top:var(--page-padding);height:calc(100dvh - 2 * var(--page-padding));flex-direction:column;justify-content:space-between;gap:24px;display:flex;position:sticky}.profile-content{flex-direction:column;gap:36px;display:flex}.bio,.experience{flex-direction:column;gap:12px;display:flex}.identity{align-items:center;gap:12px;min-height:36px;display:flex}.identity h1,.experience h2{color:var(--muted)}.avatar{object-fit:cover;border-radius:50%;flex:none;width:36px;height:36px}.work-history{flex-direction:column;gap:12px;display:flex}.work-history>li{align-items:center;gap:12px;display:flex}.company-icon,.contact-icon{--smooth-radius:12px;--smooth-fill:#fff;--smooth-border:#f3f3f3;background:#fff;border:1px solid #f3f3f3;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;transition:transform .18s ease-out;display:grid;position:relative;overflow:hidden}.job{flex-direction:column;justify-content:space-between;align-self:stretch;min-width:0;display:flex}.job-detail{color:var(--muted);font-size:12px}.work-history>.divider{height:0;position:relative}.divider object{pointer-events:none;width:320px;height:1px;position:absolute;top:-.5px;left:0}.contact-dock{perspective:600px;flex:none}.contact-button{--smooth-radius:var(--radius);--smooth-fill:#111;--tilt-x:0deg;--tilt-y:0deg;border-radius:var(--radius);color:#fff;width:100%;min-height:45px;transform:perspective(600px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;background:#111;border:0;justify-content:space-between;align-items:flex-start;padding:12px;font-family:Geist Mono,monospace;line-height:21px;transition:transform .18s ease-out,box-shadow .18s,background-color .12s;display:flex;position:relative}.contact-button kbd{--smooth-radius:6px;--smooth-fill:transparent;--smooth-border:#f3f3f366;opacity:.6;border:1px solid #f3f3f366;border-bottom-width:3px;border-radius:6px;padding:4px;font:9px/11px Geist,Arial,sans-serif;position:absolute;top:50%;right:12px;transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.company-icon:hover{transform:scale(1.05)rotate(-5deg)}.contact-button:hover{box-shadow:0 16px 24px -12px #11111180}}.contact-button:active,.contact-button.is-pressed{--smooth-fill:#292929;transform:perspective(600px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(.95);box-shadow:none;background:#292929}.cases{min-width:0}.page-contacts{display:none}.case-cover-link{border-radius:28px;transition:transform .12s ease-out;display:block}.case-cover-link:active{transform:scale(.95)}.case-tabs{top:var(--page-padding);z-index:3;background:#fff;margin-bottom:36px;display:flex;position:sticky}.case-tabs:before{content:"";inset:calc(-1 * var(--page-padding)) 0 100%;pointer-events:none;background:#fff;position:absolute}.case-tabs button{color:#1119;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;min-height:35px;padding:6px}.case-tabs button[aria-selected=true]{color:#111;border-bottom-color:#111}.case-tabs button:hover{color:#111}.case-list{flex-direction:column;gap:36px;display:flex}.case-card{min-width:0}.case-cover{--smooth-radius:28px;aspect-ratio:4/3;object-fit:cover;border-radius:var(--smooth-radius);width:100%;height:auto;display:block}.case-info{flex-direction:column;gap:10px;margin-top:12px;display:flex}.case-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.case-heading h2{overflow-wrap:anywhere;min-width:0}.case-action{color:#1119;white-space:nowrap;text-underline-offset:4px;flex:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1.84px}.case-action:hover{color:#111}.case-description{-webkit-line-clamp:2;overflow-wrap:anywhere;color:#707070;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.case-meta{white-space:nowrap;text-overflow:ellipsis;color:#707070;font-size:12px;overflow:hidden}.muted{color:var(--muted)}html:has(dialog[open]){overflow:hidden}dialog{--smooth-radius:36px;--smooth-fill:#fff;color:#111;background:#fff;border:0;border-radius:36px;width:min(400px,100% - 32px);max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:16px 12px}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11111140}.dialog-header{justify-content:space-between;align-items:center;padding:0 12px 12px;display:flex}.dialog-header h2{font:16px/1.3 Geist,Arial,sans-serif}.close-dialog{background:0 0;border:none;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;padding:0;display:grid;position:relative}.close-dialog:before{content:"";position:absolute;inset:-6px}.contact-list{display:grid}.contact-row{--smooth-radius:24px;--smooth-fill:transparent;text-align:left;background:0 0;border:0;border-radius:24px;align-items:center;gap:12px;width:100%;min-height:66px;padding:12px;text-decoration:none;transition:transform .12s ease-out,background-color .12s;display:flex;position:relative}.contact-icon-telegram img{transform:translate(-1px,1px)}.contact-text{flex:1;align-self:stretch;min-width:0;display:flex;position:relative}.contact-default{flex-direction:column;flex:1;justify-content:space-between;gap:5px;min-height:42px;display:flex}.contact-name{font-size:16px;line-height:1.3}.contact-detail{color:var(--muted);overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;font-size:12px;line-height:1.3}.contact-action-icon{opacity:0;flex:none;place-items:center;width:42px;height:42px;transition:opacity .12s;display:grid}.contact-arrow{width:16px;height:14.0169px;display:block;transform:translateY(.00845px)rotate(-45deg)}.contact-action-icon>img{transform:translateY(.00845px)}.contact-success{align-items:center;font-size:16px;display:flex;position:absolute;inset:0}.contact-row.is-copied .contact-default{visibility:hidden}@media (hover:hover) and (pointer:fine){.contact-row:hover{--smooth-fill:#6a6a6a1a;background:#6a6a6a1a}.contact-row:hover .contact-action-icon{opacity:1}}.contact-row:active{transform:scale(.95)}.contact-error{color:var(--muted);padding:12px;font-size:12px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.clipboard-fallback{opacity:0;border:0;width:1px;height:1px;padding:0;position:fixed}.noscript{padding:32px}@media (width>=1024px) and (height<=740px){.profile-content{gap:20px}.intro{gap:16px}}@media (width>=1024px) and (height<=660px){:root{--page-padding:24px}.portfolio{padding-inline:32px}.profile-content{gap:16px;font-size:14px}.bio,.experience,.work-history{gap:10px}.company-icon{width:38px;height:38px}.job-detail{font-size:11px}}@media (width<=1023px){.portfolio{max-width:768px;padding:0 var(--page-padding);display:block}.intro{height:100svh;padding-block:var(--page-padding) 100px;gap:0;position:relative;top:auto}.case-tabs{display:none}.cases{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.contact-dock{bottom:calc(24px + env(safe-area-inset-bottom,0px));width:calc(min(100%, 768px) - 2 * var(--page-padding));z-index:5;position:fixed;left:50%;transform:translate(-50%)}.contact-button{box-shadow:0 8px 24px #1111111f}.contact-button kbd{display:none}.divider object{max-width:100%}}@media (width<=767px){:root{--page-padding:24px}.portfolio{max-width:none}.profile-content{gap:28px}.article-page{padding:24px}}@media (width<=1023px) and (height<=740px){.profile-content{gap:18px}.work-history{gap:10px}.intro{padding-bottom:88px}.bio,.experience{gap:10px}}@media (width<=1023px) and (height<=650px){:root{--page-padding:20px}.profile-content{gap:14px;font-size:14px}.work-history{gap:8px}.company-icon{--smooth-radius:10px;border-radius:10px;width:36px;height:36px}.job-detail{font-size:11px}.contact-dock{bottom:calc(16px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}.contact-button,.contact-row{transform:none!important}}.smooth-ready.smooth-ready{border-radius:0}.smooth-ready.smooth-ready:not(img,video){isolation:isolate;box-shadow:none;background:0 0;border-color:#0000;overflow:visible}.smooth-ready.smooth-ready:is(.contact-button,.light-button,.contact-row){transition-property:transform}.smooth-surface{pointer-events:none;z-index:-1;display:block;position:absolute;overflow:visible}.smooth-fill{fill:var(--smooth-fill);transition:fill .12s}.smooth-border{fill:var(--smooth-border)}.smooth-focus{fill:none;stroke:#1673ff;stroke-width:2px;display:none}.smooth-ready:is(.contact-button,.contact-row):focus-visible{outline:none}:is(.contact-button,.contact-row):focus-visible>.smooth-surface>.smooth-focus{display:block}.dialog-content{max-height:calc(100dvh - 64px);margin:-6px;padding:6px;overflow:auto}.smooth-shadow-hover,.smooth-shadow-mobile{display:none}@media (width<=1023px){.smooth-shadow-mobile{display:block}}@media (hover:hover) and (pointer:fine){.contact-button:hover .smooth-shadow-hover{display:block}.contact-button:hover .smooth-shadow-mobile{display:none}}.contact-button:active .smooth-shadow,.contact-button.is-pressed .smooth-shadow{display:none}@media (width<=1023px){#home .intro{height:100dvh;padding-bottom:93px}.case-description{-webkit-line-clamp:unset;display:block;overflow:visible}#home .profile-content{scrollbar-width:none;min-height:0;max-height:100%;overflow-y:auto}#home .intro .contact-dock{z-index:auto;width:100%;position:absolute;bottom:24px;left:0;transform:none}#home .contact-button .smooth-shadow-mobile{display:none}#home .cases{padding-bottom:0}.page-contacts{padding-block:36px calc(24px + env(safe-area-inset-bottom,0px));display:block}.page-contacts .contact-action-icon{opacity:1}}@media (prefers-reduced-motion:reduce){.case-cover-link{transform:none!important}}.smooth-ready.smooth-ready:not(img,video){border-color:#0000!important}@font-face{font-family:Geist;src:url(/assets/fonts/Geist-Variable.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}.article-page{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:60px;max-width:1024px;min-height:100svh;margin-inline:auto;padding:32px;display:grid}.article-sidebar{top:var(--sidebar-top,32px);flex-direction:column;justify-content:space-between;gap:36px;min-width:0;min-height:calc(100dvh - 64px);display:flex;position:sticky}.article-summary{gap:24px;display:grid}.article-summary h1{overflow-wrap:anywhere;font-size:16px;font-weight:400}.summary-block,.article-section{flex-direction:column;gap:12px;min-width:0;display:flex}.section-heading{color:var(--muted);overflow-wrap:anywhere}.section-text{white-space:pre-wrap;overflow-wrap:anywhere}.article-sidebar-footer{flex-direction:column;gap:10px;display:flex}.article-body{flex-direction:column;gap:36px;min-width:0;display:flex}.article-section .case-cover{--smooth-radius:12px;aspect-ratio:auto}.article-metrics{flex-wrap:wrap;gap:12px;display:flex}.metric-card{--smooth-radius:12px;--smooth-fill:#f3f3f3;background:#f3f3f3;border-radius:12px;flex-direction:column;flex:1 0 184px;gap:12px;min-width:0;padding:12px;display:flex;position:relative}.metric-value{overflow-wrap:anywhere;font-size:24px;font-weight:600}.metric-label{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.light-button{--smooth-radius:12px;--smooth-fill:#fff;--smooth-border:#f3f3f3;color:var(--muted);background:#fff;border:1px solid #f3f3f3;border-radius:12px;transition:transform .12s ease-out,background-color .12s;position:relative}.page-button{justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:45px;padding:11px;font:16px/21px Geist Mono,monospace;text-decoration:none;display:flex}.page-button.contact-button{padding:12px}.page-button>span{min-width:0}.page-button kbd{--smooth-radius:6px;--smooth-fill:transparent;--smooth-border:#f3f3f3;text-align:center;color:#6a6a6a66;border:1px solid #f3f3f3;border-bottom-width:3px;border-radius:6px;flex:none;min-width:21px;padding:4px;font:9px/11px Geist,Arial,sans-serif;position:relative;top:auto;right:auto;transform:none}.page-button.contact-button kbd{--smooth-border:#f3f3f366;color:#fff;border-color:#f3f3f366}.case-pagination{gap:12px;display:flex}.case-pagination>a{flex:1;min-width:0}.light-button:active,.light-button.is-pressed{--smooth-fill:#f3f3f3;background:#f3f3f3;transform:scale(.95)}@media (hover:hover) and (pointer:fine){.light-button:hover{--smooth-fill:#f3f3f3;background:#f3f3f3}}.smooth-ready.light-button:focus-visible{outline:none}.light-button:focus-visible>.smooth-surface>.smooth-focus{display:block}.media-frame{--smooth-radius:12px;border-radius:12px;width:100%;position:relative;overflow:hidden}.gallery-stage{touch-action:pan-y;width:100%}.gallery-arrow{z-index:2;place-items:center;width:42px;height:42px;padding:0;display:grid;position:absolute;top:calc(50% - 24.5px)}.gallery-previous{left:12px}.gallery-next{right:12px}.gallery-previous img{transform:rotate(180deg)}.gallery-next img{transform:scaleY(-1)}.comparison-after{clip-path:inset(0 0 0 var(--comparison));background:#fff;position:absolute;inset:0}.comparison-after .case-cover{object-fit:contain;height:100%}.comparison-track{inset-block:0;left:var(--comparison);pointer-events:none;background:#fff;width:1px;position:absolute}.comparison-thumb{--smooth-radius:6px;border-radius:6px;place-items:center;width:24px;height:24px;margin-top:-12px;padding:0;display:grid;position:absolute;top:50%;left:-12px}.comparison-range{opacity:0;cursor:ew-resize;touch-action:pan-y;width:100%;height:100%;margin:0;position:absolute;inset:0}.media-comparison:focus-within{outline-offset:4px;outline:2px solid #1673ff}.media-comparison:has(.comparison-range:active) .comparison-thumb{--smooth-fill:#f3f3f3;transform:scale(.95)}@media (hover:hover) and (pointer:fine){.media-comparison:has(.comparison-range:hover) .comparison-thumb{--smooth-fill:#f3f3f3}}.article-page.not-found-page{max-width:none;min-height:100dvh;padding:var(--page-padding);grid-template-columns:minmax(0,380px);place-content:center;gap:0;display:grid}.not-found{text-align:center;flex-direction:column;align-items:center;gap:24px;width:100%;min-width:0;display:flex}.not-found-header{overflow-wrap:anywhere;flex-direction:column;gap:12px;width:100%;line-height:21px;display:flex}.not-found-header p,.not-found-caption{color:var(--muted)}.not-found-profile{flex-direction:column;align-items:center;gap:24px;width:100%;display:flex}.not-found-portrait{background:#023beb;border:.625px solid #f3f3f3;border-radius:50%;flex:none;width:200px;height:200px;position:relative;overflow:hidden}.not-found-portrait img{object-fit:cover;width:200px;max-width:none;height:200px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.not-found-caption{width:240px;max-width:100%;font-size:12px;line-height:16px}.not-found .page-button{height:45px}.not-found .page-button kbd{height:21px;padding:3px 4px}@media (width<=1023px){.article-page{max-width:768px;padding:0 var(--page-padding) calc(24px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:0;display:flex}.article-sidebar{width:100%;min-height:100dvh;padding-block:var(--page-padding) 24px;justify-content:flex-start;gap:24px;position:static}.article-home-button{flex:none}.article-sidebar-footer{width:100%;margin-top:auto}.article-sidebar .contact-dock{z-index:auto;width:100%;position:static;bottom:auto;left:auto;transform:none}.article-sidebar .contact-button .smooth-shadow-mobile{display:none}.article-body{width:100%}.article-contacts{padding:0}.article-sidebar-footer .identity,.page-button kbd{display:none}.case-pagination{flex-wrap:wrap}.case-pagination>a{flex-basis:220px}.case-pagination .contact-button{box-shadow:none}.case-pagination .smooth-shadow-mobile{display:none}}@media (width<=767px){.article-page{max-width:none}}@media (prefers-reduced-motion:reduce){.light-button{transform:none!important}}
