@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-ext-wght-normal.460bdf14.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-wght-normal.491cbc05.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-ext-wght-normal.23aae568.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-wght-normal.4449bf7a.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-vietnamese-wght-normal.113a630f.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-ext-wght-normal.3835a68e.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-wght-normal.6c596dfc.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-cyrillic-ext-wght-normal.dc71e6df.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-cyrillic-wght-normal.f31ee180.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-latin-ext-wght-normal.fbf2ec0d.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-latin-wght-normal.302324d5.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:"Inter Variable",Inter,system-ui,sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.static{position:static}.block{display:block}.contents{display:contents}.hidden{display:none}.resize{resize:both}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--page-bg:#edf2f4;--surface:#f8fafb;--surface-strong:#fff;--ink:#1f1c1c;--muted:#7b7f85;--faint:#a9afb3;--line:#dce3e6;--line-strong:#cbd4d8;--green:#44b36a;--page-gutter:20px;--ease-out:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--page-bg)}body{min-width:320px;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter Variable,Inter,system-ui,sans-serif;font-size:14px;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button{color:inherit}img,video{max-width:100%;display:block}::selection{color:var(--ink);background:#c8f2d3}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--ink);color:#fff;border-radius:10px;padding:10px 14px;transition:transform .18s;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.page-shell{width:min(1400px,calc(100% - (var(--page-gutter) * 2)));margin-inline:auto}.page-column{width:min(800px,calc(100% - (var(--page-gutter) * 2)));margin-inline:auto}#about,#articles,#portfolio,#shorts{scroll-margin-top:44px}.site-header{z-index:50;position:absolute;top:0;left:0;right:0}.topbar{width:100%;height:24px;grid-template-columns:1fr auto 1fr;align-items:start;margin-top:18px;padding-inline:20px;font-family:Onest Variable,Onest,sans-serif;font-size:14px;line-height:20px;display:grid}.topbar,.topbar-location,.vibe-switch{color:var(--muted)}.vibe-switch{width:112px;cursor:pointer;font:inherit;line-height:inherit;white-space:nowrap;background:0 0;border:0;justify-self:end;align-items:center;gap:8px;padding:0;transition:color .18s;display:inline-flex}.vibe-switch-track{background:#f8fafb;border:1px solid #dbe2e6;border-radius:999px;flex:none;width:38px;height:22px;transition:border-color .18s,background-color .18s;display:block;position:relative}.vibe-switch-knob{background:#d4dce1;border-radius:50%;width:16px;height:16px;transition:background-color .18s,transform .18s;display:block;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #1f1c1c24}.vibe-switch[aria-pressed=true]{color:var(--ink)}.vibe-switch[aria-pressed=true] .vibe-switch-track{border-color:var(--ink);background:var(--ink)}.vibe-switch[aria-pressed=true] .vibe-switch-knob{background:#fff;transform:translate(16px)}.vibe-switch:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:6px}.mobile-menu-trigger{cursor:pointer;background:0 0;border:0;justify-self:end;padding:0;display:none}.desktop-navigation{z-index:30;flex-direction:column;gap:8px;width:188px;font-family:Onest Variable,Onest,sans-serif;font-size:14px;font-weight:400;line-height:20px;display:flex;position:fixed;top:50%;left:20px;transform:translateY(-50%)}.desktop-navigation a{width:fit-content;color:var(--muted);align-items:center;gap:12px;transition:color .18s;display:flex}.desktop-navigation a span{background:var(--muted);width:12px;height:1px;transition:width .18s var(--ease-out),background .18s ease;flex:none}.desktop-navigation a:focus-visible,.desktop-navigation a:hover,.desktop-navigation a[aria-current=location]{color:var(--ink)}.desktop-navigation a:focus-visible span,.desktop-navigation a:hover span,.desktop-navigation a[aria-current=location] span{background:var(--ink);width:20px}.mobile-menu-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0003;padding:88px 20px 20px;position:fixed;inset:0;overflow-y:auto}.mobile-menu-panel{background:#fff;border-radius:12px;flex-direction:column;gap:32px;width:min(350px,100%);margin-inline:auto;padding:16px;display:flex;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.mobile-menu-actions,.mobile-menu-head,.mobile-menu-links a{align-items:center;display:flex}.mobile-menu-head{justify-content:space-between}.mobile-menu-head .availability{color:var(--ink);gap:6px;font-family:Inter Variable,Inter,system-ui,sans-serif;font-size:12px;line-height:16px}.mobile-menu-head .availability-dot{width:10px;height:10px;box-shadow:none;background:#dcfce7;animation:none;position:relative;overflow:hidden}.mobile-menu-head .availability-dot:after{content:"";background:#16a34a;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mobile-menu-close{cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.mobile-menu-close,.mobile-menu-close img{width:16px;height:16px}.mobile-menu-close:focus-visible{outline:none}.mobile-menu-links{flex-direction:column;gap:16px;display:flex}.mobile-menu-links a{width:fit-content;color:var(--muted);gap:12px;font-family:Onest Variable,Onest,sans-serif;font-size:14px;font-weight:400;line-height:20px}.mobile-menu-links a span{background:var(--muted);flex:none;width:12px;height:1px}.mobile-menu-links .is-current{color:var(--ink)}.mobile-menu-links .is-current span{background:var(--ink);width:20px}.mobile-menu-actions{gap:8px;width:100%;height:37px}.mobile-menu-actions a,.mobile-menu-actions span{min-width:0;height:37px;color:var(--ink);white-space:nowrap;background:#f4f4f5;border-radius:8px;flex:1 1 0;justify-content:center;align-items:center;padding:10px 16px;font-family:Onest Variable,Onest,sans-serif;font-size:12px;line-height:16px;display:flex}.mobile-menu-actions span[aria-disabled=true]{color:var(--ink)}.hero-stage{isolation:isolate;min-height:100svh;margin-bottom:60px;position:relative;overflow:hidden}.parallax-hero-background{z-index:0;opacity:0;pointer-events:none;transition:opacity .68s;position:absolute;inset:0;overflow:hidden}.parallax-hero-background[data-active=true]{opacity:1}.parallax-hero-layer,.parallax-hero-layer-drift,.parallax-hero-layers,.parallax-hero-visual{position:absolute;inset:0}.parallax-hero-layer img{object-fit:cover;object-position:center;-webkit-user-select:none;user-select:none}.parallax-hero-layer{inset:-3%}.parallax-hero-layer-drift{animation:parallax-hero-drift 16s ease-in-out infinite alternate paused}.parallax-hero-background[data-active=true] .parallax-hero-layer,.parallax-hero-background[data-active=true] .parallax-hero-layer-drift{will-change:transform;animation-play-state:running}.parallax-hero-layer-river .parallax-hero-layer-drift{animation-duration:18s;animation-delay:-8s}.parallax-hero-layer-middle .parallax-hero-layer-drift{animation-duration:15s;animation-direction:alternate-reverse;animation-delay:-5s}.parallax-hero-layer-foreground .parallax-hero-layer-drift{animation-duration:13s;animation-delay:-2s}@keyframes parallax-hero-drift{0%{transform:translate(-.35%,-.2%)scale(1.006)}to{transform:translate(.35%,.2%)scale(1.012)}}.hero-section{z-index:1;width:min(696px,calc(100% - (var(--page-gutter) * 2)));min-height:inherit;box-sizing:border-box;flex-direction:column;justify-content:center;padding-top:42px;display:flex;position:relative}@media (min-width:768px){.vibe-root[data-vibe-active=true] .topbar,.vibe-root[data-vibe-active=true] .topbar-location{color:var(--ink)}.vibe-root[data-vibe-active=true] .hero-meta,.vibe-root[data-vibe-active=true] .hero-meta .availability,.vibe-root[data-vibe-active=true] .hero-title{color:#fff}.vibe-root[data-vibe-active=true] .hero-meta .availability-dot:after{background:#fff}}.hero-heading-wrap{flex-direction:column;align-items:flex-start;gap:4px;padding-left:8px;display:flex}.hero-title{white-space:nowrap;width:100%;height:100px;margin:0;font-family:Onest Variable,Onest,sans-serif;font-size:72px;font-weight:650;line-height:1;position:relative}.hero-title-designer,.hero-title-product{position:absolute;top:20px}.hero-title-product{z-index:1;letter-spacing:-2.16px;left:0}.hero-title-designer{z-index:3;letter-spacing:-1.44px;left:316px}.hero-avatar{z-index:2;background:#e6f2fa;border:3px solid #f2f2f2;border-radius:15px;width:80px;height:80px;display:block;position:absolute;top:16px;left:256px;overflow:hidden;transform:rotate(4deg);box-shadow:-25px 25px 40px -10px #16223333,-10px 10px 40px #14141433}.hero-avatar img{object-fit:cover;max-width:none;position:absolute}.hero-avatar .hero-avatar-base{width:92px;height:122px;top:calc(50% - 3.84px);left:calc(50% + 2.04px);transform:translate(-50%,-50%)rotate(.79deg)}.hero-avatar .hero-avatar-cutout{width:85px;height:114px;top:calc(50% - 5.87px);left:calc(50% + 2.4px);transform:translate(-50%,-50%)}.hero-avatar-shadow{z-index:3;border-radius:inherit;pointer-events:none;position:absolute;inset:-3px;box-shadow:inset -4px 4px 4px #00000026}.hero-meta{color:var(--muted);flex:none;align-items:center;gap:20px;font-family:Inter Variable,Inter,sans-serif;font-size:14px;line-height:20px;display:flex}.hero-meta .availability{color:var(--muted);gap:4px}.hero-meta .availability-dot{width:12px;height:12px;box-shadow:none;background:0 0;animation:none;position:relative;overflow:visible}.hero-meta .availability-dot:before{content:"";background:#16a34a38;border-radius:50%;animation:hero-availability-pulse 2.2s ease-out infinite;position:absolute;inset:0}.hero-meta .availability-dot:after{z-index:1;content:"";background:#16a34a;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes hero-availability-pulse{0%{opacity:.65;transform:scale(.65)}70%,to{opacity:0;transform:scale(1.55)}}.availability{color:var(--ink);align-items:center;gap:6px;display:inline-flex}.availability-dot{background:var(--green);border-radius:50%;width:6px;height:6px;animation:availability-pulse 2.4s ease-in-out infinite;box-shadow:0 0 0 4px #44b36a1f}@keyframes availability-pulse{0%,to{box-shadow:0 0 0 3px #44b36a1a}50%{box-shadow:0 0 0 6px #44b36a2e}}.availability-small{font-size:11px}.hero-card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff6;border-radius:24px;height:353px;margin-top:27px;padding:8px}.hero-intro{background:#fff;border-radius:20px;height:268px;position:relative;overflow:hidden}.hero-intro-copy{color:#1f1c1c;letter-spacing:0;margin:0;font-family:Onest Variable,Onest,sans-serif;font-size:22px;font-weight:400;line-height:30px;position:absolute;top:32px;left:32px}.hero-intro-copy-mobile{display:none}.hero-copy-line{white-space:nowrap;align-items:center;height:30px;display:flex}.hero-copy-muted{color:#7b7f85}.hero-copy-greeting{flex:none;width:160px;left:-12px}.hero-copy-role{margin-left:10px}.github-contributions,.hero-logo-stack,.inline-visual{vertical-align:middle;display:inline-flex}.inline-visual{flex:none;justify-content:center;align-items:center;width:24px;height:24px;margin-inline:6px;position:relative}.inline-visual img{object-fit:contain;width:100%;height:100%}.inline-ai{border-radius:5px;margin:12px;left:16px;overflow:hidden}.inline-fonetool{background:#e6f2fa;border-radius:8px;width:32px;height:32px;margin-left:7px;margin-right:0;left:6px;transform:rotate(8deg);box-shadow:-10px 10px 16px -4px #1622331a,-4px 4px 12px #14141414}.inline-fonetool:after{z-index:2;color:#fff;content:"fn-tool.ru";opacity:0;pointer-events:none;transform-origin:0 0;transition:opacity .14s ease,transform .18s var(--ease-out);white-space:nowrap;background:#1a1717;border-radius:6px;padding:4px 6px;font-family:Onest Variable,Onest,sans-serif;font-size:12px;line-height:16px;position:absolute;top:40px;left:-10px;transform:rotate(-7deg)translateY(-2px)}.inline-fonetool:hover:after{opacity:1;transform:rotate(-7deg)translateY(0)}.github-contributions{flex:none;grid-template-rows:repeat(3,6px);grid-template-columns:repeat(16,6px);gap:2px;width:136px;height:30px;margin-left:4px;padding:4px 5px;display:inline-grid}.github-contributions>span{background:#eff1f4;border-radius:1.2px;width:6px;height:6px;transition:background-color .14s}.github-contributions>span[data-level="1"]{background:#c5e9ca}.github-contributions>span[data-level="2"]{background:#a0d1a5}.github-contributions>span[data-level="3"]{background:#6cbd73}.github-contributions>span[data-level="4"]{background:#316133}.github-contributions:hover>span[data-hover-level="0"]{background:#eff1f4}.github-contributions:hover>span[data-hover-level="1"]{background:#c5e9ca}.github-contributions:hover>span[data-hover-level="2"]{background:#a0d1a5}.github-contributions:hover>span[data-hover-level="3"]{background:#6cbd73}.github-contributions:hover>span[data-hover-level="4"]{background:#316133}.hero-logo-stack{flex:none;margin-inline:6px}.hero-logo-stack>span{width:32px;height:32px;transition:margin-left .18s var(--ease-out);background:#f2f4f6;border-radius:50%;position:relative;overflow:hidden}.hero-logo-stack>span+span{margin-left:-10px}.hero-logo-stack:hover>span+span{margin-left:-3px}.hero-logo-stack img{width:32px;max-width:none;height:32px;position:absolute;inset:0}.hero-logo-solo img{mix-blend-mode:darken}.hero-contacts{justify-content:space-between;align-items:center;height:69px;padding:8px 32px 0}.hero-contact-list,.hero-contacts{gap:32px;display:flex}.hero-contact-list>div{flex-direction:column;gap:4px;display:flex}.hero-contact-list span{color:#7b7f85;font-family:Onest Variable,Onest,sans-serif;font-size:12px;line-height:16px}.hero-contact-list a{color:#1f1c1c;font-family:Onest Variable,Onest,sans-serif;font-size:16px;line-height:20px}.hero-contact-list a:hover{text-underline-offset:3px;text-decoration:underline}.cv-button{color:#fff;background:#1a1717;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:154px;min-height:40px;padding:10px 20px 10px 16px;font-family:Onest Variable,Onest,sans-serif;font-size:14px;font-weight:600;line-height:20px;transition:background-color .16s;display:inline-flex}.cv-button img{flex:none;width:16px;height:16px}.cv-button:focus-visible,.cv-button:hover{background:#332e2e}.cv-button[aria-disabled=true]{color:#fff;cursor:not-allowed}.portfolio-tabs button,.section-tab{background:0 0;border:0;border-radius:11px;align-items:center;gap:7px;margin:0;font-family:Onest Variable,Onest,sans-serif;font-size:13px;font-weight:470;line-height:20px;display:inline-flex}.mobile-section-tab{display:none}.portfolio-section{margin-top:0}.portfolio-tabs{background:#fff6;border-radius:12px;justify-content:flex-start;gap:0;width:fit-content;margin-inline:0;padding:4px;display:flex}.portfolio-tabs button{color:var(--ink);cursor:pointer;border-radius:10px;gap:8px;padding:6px 10px;font-family:Inter Variable,Inter,system-ui,sans-serif;font-size:15px;font-weight:500;transition:color .18s,background .18s}.portfolio-tabs button.is-active{color:var(--ink);background:#fff;box-shadow:0 1px 1.5px #0000001a}.portfolio-tabs button img,.portfolio-tabs button.is-active img{opacity:1}.portfolio-list{gap:80px;margin-top:40px;display:grid}.portfolio-card{border-radius:20px;display:block}.portfolio-preview-shell{position:relative}.portfolio-preview-link{cursor:pointer;border-radius:20px;display:block}.portfolio-preview{aspect-ratio:20/11;background:#fff;border:1px solid #201d1d0d;border-radius:20px;width:100%;position:relative;overflow:hidden}.portfolio-placeholder{border-radius:inherit;color:var(--muted);background:#fff;flex-direction:column;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;inset:0}.portfolio-preview-image,.portfolio-preview-poster,.portfolio-preview-video{object-fit:cover;width:100%;height:100%}.portfolio-preview-poster{z-index:1}.portfolio-preview-badge{z-index:2;color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1f1c1c99;border-radius:12px;padding:8px 12px;font-size:14px;font-weight:500;line-height:20px;position:absolute;bottom:12px;left:12px;overflow:hidden}.portfolio-slideshow-image{opacity:0;transition:opacity .16s}.portfolio-slideshow-image.is-active{opacity:1}.portfolio-copy{padding-top:20px}.portfolio-copy-row{justify-content:space-between;align-items:flex-start;gap:36px;display:flex}.portfolio-copy-main{flex:640px;min-width:0;max-width:640px}.portfolio-copy h3{margin:0;font-family:Onest Variable,Onest,sans-serif;font-size:26px;font-weight:500;line-height:1.1}.portfolio-copy h3 a{cursor:pointer}.portfolio-copy p{max-width:640px;color:var(--muted);margin:8px 0 0;font-size:15px;line-height:22px}.portfolio-year{color:var(--muted);flex:none;padding-top:1px;font-size:15px;line-height:16px}.portfolio-tags{flex-wrap:wrap;gap:8px;min-height:30px;margin-top:12px;display:flex}.case-tags span,.portfolio-tags>span{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:5px 8px;font-size:13px;line-height:18px;display:inline-flex}.project-list{gap:40px;width:748px;max-width:100%;margin:40px 0 0;display:grid}.project-card{border-radius:16px;align-items:center;gap:20px;display:flex}.project-card:not(.is-featured){flex-direction:column;align-items:flex-start;gap:16px}.project-icon{width:60px;height:60px;transition:transform .32s var(--ease-out);border-radius:12px;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.project-icon.is-featured{background:#fff;border-radius:16px;width:120px;height:120px}.project-icon-image{object-fit:cover;width:100%;height:100%}.project-card-copy{flex-direction:column;flex:1;gap:8px;width:100%;min-width:0;display:flex}.project-card.is-featured .project-card-copy{max-width:460px}.project-card-heading{align-items:center;gap:10px;display:flex}.project-card-heading strong{font-size:18px;font-weight:650;line-height:24px}.project-badge{color:var(--muted);white-space:nowrap;background:#ffffff80;border-radius:6px;padding:2px 6px;font-size:12px;line-height:16px}.project-badge.is-blue{color:#0078d4;background:#d0ecff}.project-description{color:var(--ink);font-size:15px;line-height:22px}.project-year{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:13px;line-height:18px}.project-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.company-section{margin-top:145px}.portfolio-section[data-active-kind=project]+.company-section{margin-top:290px}.company-heading{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.company-heading h2{letter-spacing:0;width:100%;margin:0;font-family:Inter Variable,Inter,sans-serif;font-size:26px;font-weight:500;line-height:1.1}.company-heading h2 span{color:#7b7f85;display:block}.company-list{justify-content:space-between;gap:20px;width:min(1020px,100% - 40px);min-height:314px;margin:40px auto 0;display:flex}.company-card{cursor:default;flex:0 0 188px;height:314px;position:relative}.company-logo{border-radius:8px;width:188px;height:60px;position:absolute;top:0;left:0;overflow:hidden}.company-logo img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.company-colored{opacity:0}.company-tooltip{z-index:2;background:var(--ink);opacity:0;visibility:hidden;pointer-events:none;border-radius:16px;flex-direction:column;gap:10px;width:260px;padding:12px;display:flex;position:absolute;top:64px;left:50%;overflow:hidden;transform:translate(-50%)}.company-tooltip-media{object-fit:cover;border-radius:8px;flex:none;width:236px;height:124px}.company-tooltip-copy{flex-direction:column;align-items:flex-start;gap:4px;width:100%;display:flex}.company-tooltip-copy a,.company-tooltip-copy p,.company-tooltip-copy span{width:100%;margin:0;font-weight:400}.company-tooltip-copy p{color:var(--line);font-size:13px;line-height:18px}.company-tooltip-copy a,.company-tooltip-copy span{color:#a0a6ab;font-size:12px;line-height:16px}.company-tooltip-copy a{text-underline-position:from-font;text-decoration:underline}.company-card[data-active=true]{z-index:2}.company-card[data-active=true] .company-default{opacity:0}.company-card[data-active=true] .company-colored{opacity:1}.company-card[data-active=true] .company-tooltip{opacity:1;visibility:visible;pointer-events:auto}.about-section{flex-direction:column;align-items:center;gap:50px;margin-top:144px;display:flex}.about-video-wrap{aspect-ratio:720/378;border-radius:18px;width:720px;max-width:100%;height:378px;margin-inline:auto;position:relative}.ambient-shadow{z-index:-1;opacity:.6;filter:blur(15.3px)saturate(1.3);background:linear-gradient(115deg,#77a0b1,#e0bb93 42%,#668279 76%,#2d3f46);border-radius:18px;position:absolute;inset:0;transform:scale(1.05)}.about-video{object-fit:cover;background:#cbd5da;border-radius:18px;width:100%;height:100%;box-shadow:0 18px 50px #32424a21}.video-control{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;background:#30323399;border:0;border-radius:12px;place-items:center;width:40px;height:40px;padding:12px;display:grid;position:absolute;bottom:20px;left:20px;overflow:hidden}.video-control-icon{place-items:center;width:16px;height:16px;display:grid;position:relative}.video-control-icon img{width:100%;max-width:none;height:100%}.video-control-icon.is-playing{width:8px;height:11.2px}.video-control-icon.is-stopped{width:16px;height:16px}.about-copy{gap:12px;width:600px;max-width:100%;margin:0 auto;display:grid}.about-copy p{color:var(--ink);margin:0;font-size:15px;line-height:1.4}.about-preview-trigger{color:var(--muted);cursor:help;text-decoration:none;display:inline;position:relative}.about-preview-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:2px}.about-preview-card{z-index:20;opacity:0;pointer-events:none;transform-origin:bottom;width:236px;height:124px;transition:opacity .14s ease,transform .18s var(--ease-out);background:#fff;border-radius:8px;display:block;position:absolute;bottom:calc(100% + 4px);left:50%;overflow:hidden;transform:translate(-50%,4px)scale(.98);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.about-preview-trigger:focus-visible .about-preview-card,.about-preview-trigger:hover .about-preview-card{opacity:1;transform:translate(-50%)scale(1)}.about-preview-skolkovo-image{width:100%;height:100%;display:block}.about-preview-skolkovo-image img{object-fit:cover;width:100%;height:100%}.about-preview-trigger.is-altair .about-preview-card{transform-origin:top;height:128px;inset:calc(100% + 4px) -71px auto auto;transform:translateY(-4px)scale(.98)}.about-preview-trigger.is-altair:focus-visible .about-preview-card,.about-preview-trigger.is-altair:hover .about-preview-card{transform:translateY(0)scale(1)}.about-preview-altair-base,.about-preview-altair-overlay{object-fit:cover;max-width:none;position:absolute}.about-preview-altair-base{width:236px;height:130px;top:-4px;left:0}.about-preview-altair-overlay{width:238.443px;height:131px;top:-2px;left:-1px}.about-preview-altair-mark{width:29px;height:14px;position:absolute;top:116px;left:206px}.dock-wrap{width:600px;max-width:100%;margin:0 auto}.app-dock{justify-content:center;align-items:flex-end;gap:2px;display:flex}.dock-icon{z-index:1;transform-origin:bottom;flex:0 56px;width:56px;min-width:0;position:relative}.dock-icon img{filter:drop-shadow(0 6px 9px #201d1d1f);border-radius:13px;width:100%;height:auto}.dock-line{background:var(--line);border-radius:99px;height:4px;margin-top:8px}.dock-wrap p{color:var(--muted);text-align:center;margin:8px 0 0;font-size:12px;line-height:16px}.shorts-section{margin-top:145px}.shorts-heading p{text-align:center;margin:0;font-family:Inter Variable,Inter,system-ui,sans-serif;font-size:15px;font-weight:400;line-height:1.4}.shorts-grid{grid-template-columns:repeat(12,1fr);gap:20px;width:min(1240px,100% - 40px);margin:40px auto 0;display:grid}.short-card{isolation:isolate;background:#e1e7e9;border-radius:20px;position:relative;overflow:hidden;container-type:inline-size}.short-card-placeholder{background:#fff;place-items:center;display:grid}.short-card-video,.short-card[data-node-id="450:6800"],.short-card[data-node-id="483:972"]{background:0 0;box-shadow:inset 0 0 0 1px #cbd0d3}.short-card[data-node-id="681:31197"]{background:#2f000d}.short-card[data-node-id="681:31192"]{background:#de8da8}.archive-short,.archive-short-bg,.archive-short-state{width:100%;height:100%;position:absolute;inset:0}.archive-short-bg,.archive-short-state{object-fit:cover}.archive-short-bg{z-index:0}.archive-short-state{z-index:1;transition:opacity .15s ease-out}.archive-short-hover{opacity:0}.team-messenger-short{object-fit:cover}@media (hover:hover) and (pointer:fine){.short-card[data-node-id="681:31192"][data-active=true] .archive-short-default{opacity:0}.short-card[data-node-id="681:31192"][data-active=true] .archive-short-hover{opacity:1}}.my-app-short-icon{object-fit:contain;width:33.9cqw;height:33.9cqw;transition:width .1s ease-out,height .1s ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.short-card[data-node-id="681:31197"][data-active=true] .my-app-short-icon{width:30.51cqw;height:30.51cqw}.short-placeholder-number{color:var(--muted);font-weight:400;line-height:1}.short-card-wide .short-placeholder-number{font-size:10cqw}.short-card-narrow .short-placeholder-number{font-size:13.56cqw}.short-card-wide{aspect-ratio:1;grid-column:span 4}.short-card-narrow{aspect-ratio:295/400;grid-column:span 3}.creative-frame img,.short-state-image,.short-video{object-fit:cover;width:100%;height:100%}.short-state-image{transition:opacity .42s}.short-state-image.is-active{opacity:0}.short-card[data-node-id="483:972"] .short-state-image.is-source-image{object-fit:cover;border-radius:4px;width:90%;height:auto;position:absolute;top:50%;left:5%;transform:translateY(-50%)}.short-card[data-active=true] .short-state-image.is-default{opacity:0}.short-card[data-active=true] .short-state-image.is-active{opacity:1}.mailguru-short{background:#fa6334;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.mailguru-short-logo{width:23.73cqw;height:auto}.mailguru-short-reveal{z-index:2;grid-template-rows:repeat(2,minmax(0,1fr));display:grid;position:absolute;inset:0}.mailguru-short-frame{will-change:transform;transition:transform .72s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden;transform:translate(-100%)}.mailguru-short-frame+.mailguru-short-frame{transform:translate(100%)}.mailguru-short-frame img{object-fit:cover}.short-card[data-active=true] .mailguru-short-frame{transform:translate(0)}.short-video-meta.mailguru-short-meta{color:#fff;font-size:12px;transition-delay:.18s}.short-card:not([data-active=true]) .mailguru-short-meta{transition-delay:0s}.creative-timeline{z-index:2;position:absolute;inset:0}.creative-cover-frame,.creative-frame,.creative-static-frame{aspect-ratio:1;width:min(200px,74%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.creative-cover-frame img{filter:drop-shadow(0 18px 24px #2d364b2e)drop-shadow(0 4px 8px #2d364b1a);width:100%;height:auto}.creative-frame img{object-fit:contain;width:100%;height:100%}.ds-short-background{z-index:0;position:absolute;inset:0}.ds-short-background img{object-fit:cover;width:100%;height:100%;display:block}.ds-short-layout{z-index:1;aspect-ratio:972/1360;will-change:top,left,width,height;border-radius:4px;width:80.34%;transition:top .1s ease-out,left .1s ease-out,width .1s ease-out,height .1s ease-out;position:absolute;top:17.1%;left:50%;overflow:hidden;transform:translate(-50%)}.ds-short-layout img{object-fit:contain;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:4px;width:100%;max-width:none;height:100%}.ds-short-meta{opacity:0;transition:opacity .1s ease-out}.short-card[data-node-id="491:1896"][data-active=true] .ds-short-layout{width:190.85%;top:-42.5%;left:calc(50% + 2.03cqw)}.short-card[data-node-id="491:1896"][data-active=true] .ds-short-meta{opacity:1}.short-video{z-index:2;border-radius:4px;width:80%;height:45%;position:absolute;top:27.5%;left:10%}.short-enkod-motion,.short-video-full{border-radius:inherit;width:100%;height:100%;inset:0}.short-enkod-motion{z-index:3;object-fit:cover;position:absolute}.short-card[data-node-id="447:5508"]:after{z-index:4;content:"";opacity:0;pointer-events:none;background:#050316;height:7.25cqw;transition:opacity 0s linear .42s;position:absolute;top:2.5cqw;left:5cqw;right:5cqw}.short-card[data-node-id="447:5508"][data-active=true]:after{opacity:1;transition-delay:0s}.short-card-meta{z-index:4;font-size:4.07cqw;left:6.78%;right:6.44%}.short-card-meta,.short-video-meta{color:var(--muted);justify-content:space-between;line-height:normal;display:none;position:absolute;top:4.75%}.short-video-meta{z-index:3;opacity:0;font-size:3cqw;transition:opacity .18s;left:6%;right:6%}.short-card[data-active=true] .short-video-meta{opacity:1}.short-card[data-node-id="450:5964"] .short-video-meta{color:#fff}@media (prefers-reduced-motion:reduce){.ds-short-layout,.ds-short-meta,.mailguru-short-frame{transition-duration:1ms}.short-card[data-node-id="447:5508"]:after{transition-delay:0s}}.articles-section{width:min(640px,100% - 40px);margin-top:144px}.articles-lead{min-height:87px;margin:0;font-family:Inter Variable,Inter,system-ui,sans-serif;font-size:26px;font-weight:500;line-height:1.1}.articles-lead span{color:var(--muted)}.article-list{gap:24px;margin-top:50px;display:grid}.article-row{grid-template-columns:40px 1fr;align-items:center;gap:12px;display:grid}.article-image{background:#fff;border:2px solid #fff;border-radius:6px;width:40px;height:40px;display:block;position:relative;overflow:hidden}.article-image img{object-fit:cover}.article-row h3{margin:0;font-family:Inter Variable,Inter,system-ui,sans-serif;font-size:15px;font-weight:400;line-height:20px}.article-row h3 span{font-weight:200}.article-links{color:var(--muted);gap:12px;margin-top:4px;font-family:Inter Variable,Inter,system-ui,sans-serif;font-size:12px;font-weight:400;line-height:16px;display:flex}.article-links a{transition:color .18s}.article-links a:focus-visible,.article-links a:hover{color:var(--ink)}.site-footer{padding-top:145px;padding-inline:20px;width:100%;padding-bottom:20px}.footer-orb{cursor:default;border-radius:50%;place-items:center;width:320px;height:320px;margin-inline:auto;display:grid;position:relative}.footer-orb-ring{will-change:transform;border-radius:50%;position:absolute;inset:0}.footer-orb-ring img{object-fit:contain;width:100%;height:100%}.footer-avatar{z-index:2;background:#e6f2fa;border:3px solid #f2f2f2;border-radius:15px;width:80px;height:80px;display:block;position:absolute;top:119.69px;left:119.69px;overflow:hidden;box-shadow:-25px 25px 40px -10px #16223333,-10px 10px 40px #14141433}.footer-avatar-base,.footer-avatar-cutout,.footer-avatar-inset{pointer-events:none;position:absolute}.footer-avatar-base{width:92px;height:122px;top:calc(50% - 3.84px);left:calc(50% + 2.04px);transform:translate(-50%,-50%)rotate(.79deg)}.footer-avatar-cutout{width:85px;height:114px;top:calc(50% - 5.87px);left:calc(50% + 2.4px);transform:translate(-50%,-50%)}.footer-avatar-inset{z-index:3;border-radius:inherit;inset:-3px;box-shadow:inset -4px 4px 4px #00000026}.footer-avatar img{object-fit:cover;width:100%;height:100%}.footer-bottom{color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;margin-top:123px;font-family:Onest Variable,Onest,sans-serif;font-size:14px;font-weight:400;line-height:20px;display:grid}.footer-bottom button{cursor:pointer;background:0 0;border:0;justify-self:start;padding:0}.footer-links{align-items:center;gap:8px;display:flex}.footer-bottom button,.footer-links a{color:var(--muted)}.footer-bottom button:hover,.footer-links a:hover{text-underline-offset:3px;text-decoration:underline}.footer-links span[aria-disabled=true]{color:var(--muted)}.footer-year{justify-self:end}.case-page,.not-found-page{flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:40px 20px;display:flex}.case-back{width:min(640px,100%);color:var(--muted);margin-bottom:20px;font-size:12px}.case-back:hover{color:var(--ink)}.case-placeholder-card{background:#ffffffad;border:1px solid #201d1d0d;border-radius:24px;width:min(640px,100%);padding:44px;box-shadow:0 18px 60px #4250570d}.case-placeholder-icon{background:#edf1f3;border-radius:14px;place-items:center;width:52px;height:52px;margin-bottom:32px;display:grid}.case-kicker{color:var(--muted);font-size:11px}.case-placeholder-card h1,.not-found-page h1{letter-spacing:-.045em;margin:12px 0 0;font-family:Onest Variable,Onest,sans-serif;font-size:clamp(32px,5vw,52px);font-weight:440;line-height:1.02}.case-placeholder-card>p:not(.case-status){max-width:520px;color:var(--muted);margin:20px 0 0;font-size:14px;line-height:1.5}.case-tags{flex-wrap:wrap;gap:6px;margin-top:24px;display:flex}.case-status{border-top:1px solid var(--line);color:var(--muted);margin:54px 0 0;padding-top:18px;font-size:11px}.not-found-page{text-align:center}.not-found-page>span{color:var(--muted);font-size:12px}.not-found-page p{color:var(--muted);margin:16px 0 0}.not-found-page a{background:#fff;border-radius:11px;margin-top:24px;padding:10px 14px}@media (max-width:1199px){.desktop-navigation{display:none}.shorts-grid{grid-template-columns:repeat(2,1fr);width:min(610px,100% - 40px)}.short-card-narrow,.short-card-wide{grid-column:span 1}.company-list{overscroll-behavior-inline:contain;scrollbar-width:none;justify-content:flex-start;width:100%;padding-inline:36px;overflow-x:auto}.company-list::-webkit-scrollbar{display:none}}@media (max-width:767px){:root{--page-gutter:20px;--page-bg:#e8eff2}#about,#articles,#portfolio,#shorts{scroll-margin-top:26px}.topbar{height:16px;margin-top:20px;font-size:12px;line-height:16px}.parallax-hero-background,.vibe-switch{display:none}.mobile-menu-trigger{display:block}.hero-section{justify-content:flex-start;width:calc(100% - 40px);min-height:0;padding-top:156px}.hero-stage{min-height:auto}.parallax-hero-layer{inset:-2%}.parallax-hero-layer-drift{animation-duration:24s}.hero-heading-wrap{gap:12px;display:flex}.hero-title{width:100%;height:52px;font-size:37.674px;line-height:1;display:block;position:relative}.hero-title-designer,.hero-title-product{position:absolute;top:10.47px}.hero-title-product{letter-spacing:-1.13px;left:0}.hero-title-designer{letter-spacing:-.75px;margin-left:8px;left:159.07px}.hero-avatar{border-width:1.57px;border-radius:7.85px;width:41.86px;height:41.86px;position:absolute;top:3.66px;left:134.48px;box-shadow:-13.081px 13.081px 20.93px -5.233px #16223333,-5.233px 5.233px 20.93px #14141433}.hero-avatar .hero-avatar-base{width:47.89px;height:63.84px;top:calc(50% - 2.01px);left:calc(50% + 1.07px)}.hero-avatar .hero-avatar-cutout{width:44.74px;height:59.65px;top:calc(50% - 3.07px);left:calc(50% + 1.26px)}.hero-avatar-shadow{inset:-1.57px;box-shadow:inset -2.093px 2.093px 2.093px #00000026}.hero-meta{flex-direction:row;justify-content:flex-start;gap:16px;width:auto;padding-top:0;font-size:12px;line-height:16px}.hero-meta .availability-dot{width:10px;height:10px}.hero-meta .availability-dot:after{width:4px;height:4px}.hero-card{border-radius:24px;width:100%;height:347px;min-height:0;margin-top:24px}.hero-intro{border-radius:20px;height:260px;min-height:0;padding:16px}.hero-intro-copy{display:none}.hero-intro-copy-mobile{color:var(--ink);flex-direction:column;align-items:flex-start;margin:0;font-family:Onest Variable,Onest,sans-serif;font-size:18px;font-weight:400;line-height:24.48px;display:flex}.hero-mobile-line{white-space:nowrap;align-items:center;height:24.48px;display:flex}.hero-mobile-hand{border-radius:4px;width:20px;height:20px;margin-left:4px;display:inline-flex;overflow:hidden}.hero-mobile-fonetool img,.hero-mobile-hand img{object-fit:cover;width:100%;height:100%}.hero-intro-copy-mobile .github-contributions{transform-origin:0;width:136px;height:30px;margin-left:4px;transform:scale(.81)}.hero-intro-copy-mobile .hero-logo-stack{transform-origin:50%;margin-inline:6px;transform:scale(.875)}.hero-intro-copy-mobile .hero-logo-stack img,.hero-intro-copy-mobile .hero-logo-stack>span{width:28px;height:28px}.hero-mobile-fonetool{background:#e6f2fa;border:1.5px solid #fff;border-radius:8px;width:24px;height:24px;margin-left:8px;display:inline-flex;overflow:hidden;transform:rotate(7deg);box-shadow:-7.5px 7.5px 12px -4px #1622331a,-3px 3px 9px #14141414}.hero-contacts{gap:12px;height:71px;padding:8px 16px 0}.hero-contact-list{flex-direction:column;gap:6px}.hero-contact-list>div{flex-direction:row;gap:4px}.cv-button,.hero-contact-list a,.hero-contact-list span{font-size:12px;line-height:16px}.cv-button{border-radius:8px;width:auto;min-width:108px;min-height:37px;padding:10px 16px}.cv-button img{display:none}.portfolio-section{margin-top:120px}.portfolio-tabs{justify-content:flex-start;margin-inline:0}.portfolio-tabs button{min-height:32px;padding:5.5px 10px;font-size:13px;line-height:18px}.portfolio-tabs button:first-child{width:90px}.portfolio-tabs button:last-child{width:106px}.portfolio-tabs button:not(.is-active) img{opacity:.55}.portfolio-list{gap:40px;margin-top:24px}.portfolio-preview{aspect-ratio:350/192;border-radius:16px}.portfolio-placeholder{border-radius:10px}.portfolio-copy{padding-top:12px}.portfolio-copy-row{gap:0}.portfolio-copy-main{width:100%;max-width:none}.portfolio-copy h3{font-size:18px;line-height:22px}.portfolio-copy p{margin-top:8px;font-size:12px;line-height:16px}.portfolio-year{display:none}.portfolio-tags{gap:4px;min-height:auto;margin-top:12px}.portfolio-tags>span{gap:6px;padding:5px 8px;font-size:11px;line-height:14px}.portfolio-tags>span img{width:12px;height:12px}.preview-chip{border-radius:9px;padding:6px 9px;font-size:11px;line-height:16px;bottom:10px;left:10px}.project-list{gap:32px;margin-top:30px}.project-card,.project-card:not(.is-featured){grid-template-columns:64px minmax(0,1fr);align-items:start;gap:14px;display:grid}.project-icon,.project-icon.is-featured{border-radius:12px;width:64px;height:64px}.project-secondary-grid{grid-template-columns:1fr;gap:32px}.project-card-heading{flex-wrap:wrap;gap:5px 8px}.project-card-heading strong{font-size:15px;line-height:20px}.project-badge{font-size:9px;line-height:14px}.project-year{margin-left:0;font-size:10px}.project-description{font-size:11px;line-height:16px}.about-section,.articles-section,.company-section,.shorts-section{margin-top:80px}.portfolio-section[data-active-kind=project]+.company-section{margin-top:160px}.company-heading h2{font-size:18px;line-height:24px}.company-heading h2 br{display:none}.company-list{width:100%;min-height:340px;margin-top:20px;padding:0 20px;scroll-padding-inline:20px;overflow-y:hidden}.company-card{scroll-snap-align:start;flex-basis:260px;width:260px;height:340px}.company-logo{left:36px}.company-default{display:none}.company-colored{opacity:1}.company-tooltip{border-radius:12px}.company-card .company-tooltip{opacity:1;visibility:visible;pointer-events:auto}.mobile-section-tab{background:#fff;border-radius:10px;gap:6px;min-height:32px;margin-bottom:0;padding:6px 10px;font-family:Inter Variable,Inter,system-ui,sans-serif;font-size:13px;font-weight:500;line-height:18px;display:inline-flex;box-shadow:0 1px 1.5px #0000001a}.mobile-section-tab img{width:16px;height:16px}#articles-title img{width:14px}.about-section{align-items:flex-start;gap:28px}.about-section .mobile-section-tab{width:97px;margin-bottom:0}.about-video-wrap{aspect-ratio:350/184;width:100%;height:auto}.about-video,.about-video-wrap,.ambient-shadow{border-radius:12px}.ambient-shadow{filter:blur(7.438px)saturate(1.3)}.video-control{width:40px;height:40px;bottom:12px;left:12px}.about-copy{gap:12px;margin-top:0}.about-copy p{font-size:13px;line-height:18px}.dock-wrap{margin-top:0}.app-dock{gap:2px;padding:0}.dock-icon{flex-basis:36px;width:36px}.dock-icon img{border-radius:8px}.dock-wrap p{margin-top:8px;font-size:12px;line-height:16px}.shorts-heading p{text-align:left;font-size:13px;line-height:18px}.shorts-heading{flex-direction:column;align-items:flex-start;gap:13px;display:flex}.shorts-heading .mobile-section-tab{width:95px;margin-bottom:0}.shorts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:352px;max-width:calc(100% - 38px);margin-top:13px}.short-card{border-radius:8px}.short-card-wide{aspect-ratio:1}.short-card-narrow{aspect-ratio:295/400}.short-card[data-node-id="437:3287"],.short-card[data-node-id="450:6800"],.short-card[data-node-id="491:1896"],.short-card[data-node-id="681:31197"]{display:none}.articles-section{width:calc(100% - 40px)}.articles-section .mobile-section-tab{width:88px;margin-bottom:20px}.articles-lead{min-height:0;font-size:18px;line-height:24px}.article-list{gap:16px;margin-top:20px}.article-row{align-items:start}.article-row h3{font-size:13px;line-height:18px}.site-footer{padding-top:80px;padding-bottom:40px}.footer-orb{width:260px;height:260px}.footer-avatar{border-width:2.438px;border-radius:15px;width:65px;height:65px;top:97.25px;left:97.25px;box-shadow:-20.313px 20.313px 32.5px -10px #16223333,-8.125px 8.125px 32.5px #14141433}.footer-avatar-base{width:74.75px;height:99.125px;top:calc(50% - 3.12px);left:calc(50% + 1.66px)}.footer-avatar-cutout{width:69.063px;height:92.625px;top:calc(50% - 4.77px);left:calc(50% + 1.95px)}.footer-avatar-inset{inset:-2.438px;box-shadow:inset -3.25px 3.25px 3.25px #00000026}.footer-bottom{grid-template-columns:1fr auto;margin-top:80px;font-size:14px;line-height:20px}.footer-links{justify-self:end;gap:8px}.footer-year{display:none}.case-placeholder-card{border-radius:18px;padding:28px 22px}.case-status{margin-top:40px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ambient-shadow{filter:blur(26px)}.parallax-hero-background{transition-duration:.28s!important}}.case-site{background:#ebf0f2;min-width:320px;overflow-x:clip}.case-content{flex-direction:column;align-items:center;gap:60px;width:100%;padding:20px;display:flex}.case-breadcrumbs,.case-hero,.case-info-card,.case-navigation,.case-section{width:min(860px,100%)}.case-breadcrumbs{align-items:center;gap:6px;min-width:0;font-size:15px;line-height:22px;display:flex}.case-breadcrumb-avatar{background:#e6f2fa;border-radius:6px;flex:none;width:22px;height:22px;position:relative;overflow:hidden}.case-breadcrumb-avatar img{object-fit:cover;object-position:50% 36%;transform:scale(1.16)}.case-breadcrumbs a:hover{text-underline-offset:3px;text-decoration:underline}.case-breadcrumb-current{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.case-hero{gap:20px}.case-hero,.case-hero-copy{flex-direction:column;display:flex}.case-hero-copy{gap:16px;max-width:720px}.case-hero h1{letter-spacing:-.02em;max-width:680px;margin:0;font-size:40px;font-weight:600;line-height:1.1}.case-copy-block li,.case-copy-block p,.case-copy-wide,.case-hero-copy p,.case-intro-notes p{margin:0;font-size:15px;line-height:22px}.case-meta-row{justify-content:space-between}.case-meta-row,.case-reading-time,.case-tag,.case-tag-list{align-items:center;display:flex}.case-tag-list{flex-wrap:wrap;gap:8px}.case-tag{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:8px;gap:6px;padding:5px 8px;font-size:13px;line-height:18px}.case-reading-time img,.case-tag img{flex:none}.case-reading-time{gap:6px}.case-reading-time,.case-year{color:var(--muted);white-space:nowrap;padding:5px 8px;font-size:13px;line-height:18px}.case-cover{aspect-ratio:43/22;background:#fff;border-radius:20px;width:100%;margin:0;position:relative;overflow:hidden}.case-cover img{object-fit:cover}.case-intro-notes{flex-direction:column;gap:20px;display:flex}.case-copy-block,.case-copy-wide,.case-intro-notes p,.case-quote{max-width:720px}.case-section{flex-direction:column;align-items:flex-start;gap:20px;display:flex}.case-copy-block h3,.case-section h2{margin:0;font-weight:600}.case-section h2{letter-spacing:-.01em;width:100%;font-size:24px;line-height:28px}.case-copy-block{flex-direction:column;gap:8px;width:100%;display:flex}.case-copy-block h3{font-size:15px;line-height:22px}.case-copy-block ul{flex-direction:column;gap:4px;margin:0;padding-left:23px;list-style:outside;display:flex}.case-copy-block .case-list-roomy{gap:8px}.case-info-card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffdb;border:5px solid #fff3;border-radius:16px;padding:24px 236px 24px 24px;font-size:15px;line-height:22px}.case-section--compact{gap:16px}.case-quote{border-left:2px solid var(--ink);width:100%;margin:0;padding:10px 20px;font-size:15px;font-style:italic;line-height:22px}.case-figure{grid-template-columns:minmax(0,648px) minmax(0,187px);align-items:start;gap:25px;width:100%;margin:0;display:grid}.case-figure-media{width:100%;color:inherit;cursor:zoom-in;text-align:initial;background:#fff;border:0;border-radius:16px;padding:0;display:block;position:relative;overflow:hidden}.case-figure--discovery .case-figure-media,.case-figure--landscape .case-figure-media{aspect-ratio:648/380}.case-figure--architecture .case-figure-media{aspect-ratio:648/615}.case-figure--userflow .case-figure-media{aspect-ratio:648/320}.case-figure--rbc-architecture .case-figure-media{aspect-ratio:648/480}.case-figure--rbc-data .case-figure-media{aspect-ratio:648/338}.case-figure--ai-wide .case-figure-media{aspect-ratio:9/5}.case-figure--ai-full{display:block}.case-figure--ai-full .case-figure-media{aspect-ratio:43/22}.case-figure--ai-process .case-figure-media{aspect-ratio:324/190}.case-figure-media>img,.case-figure-media>picture>img,.case-promo-grid figure img,.case-tab-image img{object-fit:cover}.ai-copilot-case .desktop-navigation{width:210px}.ai-copilot-case .case-section[id]{scroll-margin-top:24px}.ai-copilot-case .case-section>.case-section-title--h2{letter-spacing:0;font-size:32px;line-height:44px}.ai-copilot-case .case-section h3{margin:0;font-size:20px;font-weight:600;line-height:28px}.ai-copilot-case .case-cover{border-radius:20px}.ai-copy-block,.ai-hero-media,.ai-subsection{flex-direction:column;width:100%;display:flex}.ai-hero-media,.ai-subsection{gap:12px}.ai-copy-block{gap:8px}.ai-case-summary{background:#fff;border-radius:20px;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:32px;width:100%;padding:32px;display:grid}.ai-summary-results,.ai-summary-role{flex-direction:column;gap:14px;min-width:0;display:flex}.ai-case-summary p{margin:0;font-size:13px;line-height:20px}.ai-case-summary .ai-summary-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:12px;line-height:16px}.ai-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ai-metrics>div,.ai-research-metrics>div{flex-direction:column;gap:4px;min-width:0;display:flex}.ai-metrics>div:last-child{grid-column:1/-1}.ai-metrics strong,.ai-research-metrics strong{font-size:20px;font-weight:600;line-height:28px}.ai-metric-value-with-icon{align-items:center;gap:8px;display:flex}.ai-metric-icon{border-radius:50%;width:24px;height:24px;display:block;position:relative;overflow:hidden}.ai-metric-icon img{object-fit:cover}.ai-metrics span,.ai-research-metrics span{color:var(--muted);font-size:12px;line-height:16px}.ai-code-video,.ai-first-version,.ai-screens-video,.ai-wide-media{background:#fff;border-radius:16px;width:100%;margin:0;position:relative;overflow:hidden}.ai-wide-media{aspect-ratio:43/22}.ai-first-version{aspect-ratio:43/27}.ai-first-version img,.ai-wide-media img{object-fit:cover}.ai-auto-slideshow .ai-slideshow-image{opacity:0;visibility:hidden}.ai-auto-slideshow .ai-slideshow-image.is-active{opacity:1;visibility:visible}.ai-slideshow-trigger{cursor:zoom-in;background:0 0;border:0;padding:0;position:absolute;inset:0}.ai-slideshow-trigger:focus-visible{outline-offset:-3px;outline:3px solid #1d4ed8}.ai-slideshow-trigger:focus-visible .case-figure-zoom,.ai-slideshow-trigger:hover .case-figure-zoom{opacity:1}.ai-research-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;width:100%;display:grid}.ai-narrow-media{width:min(648px,100%)}.ai-scope-card{background:#fff;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;padding:16px;display:grid}.ai-scope-card h3{font-size:15px!important;line-height:22px!important}.ai-scope-card ol{margin:8px 0 0;padding-left:24px;font-size:15px;line-height:24px;list-style:decimal}.ai-insight-row{width:min(860px,100%)}.ai-insight-card{background:#fff;border-radius:20px;width:min(649px,100%);min-height:171px;display:block;overflow:hidden}.ai-insight-copy{align-self:stretch;padding:24px;font-family:Georgia,Times New Roman,serif;font-size:16px;font-style:italic;font-weight:400;line-height:24px;display:block}.ai-insight-copy:first-letter{color:#db1111;font-size:24px;font-weight:700}.ai-insight-copy strong{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:700;display:block}.ai-code-video{aspect-ratio:43/22}.ai-screens-video{aspect-ratio:215/121}.ai-code-video video,.ai-screens-video video{object-fit:cover;width:100%;height:100%}@media (max-width:767px){.ai-copilot-case .case-breadcrumbs{margin-bottom:0}.ai-copilot-case .case-hero{gap:16px}.ai-copilot-case .case-cover{border-radius:12px;margin-top:0}.ai-copilot-case .case-section{gap:16px}.ai-copilot-case .case-section>.case-section-title--h2{font-size:24px;line-height:28px}.ai-copilot-case .case-section h3{font-size:20px;line-height:28px}.ai-case-summary{border-radius:12px;grid-template-columns:1fr;gap:24px;padding:20px}.ai-summary-results,.ai-summary-role{gap:12px}.ai-code-video,.ai-first-version,.ai-screens-video,.ai-wide-media{aspect-ratio:35/22;border-radius:12px}.ai-research-metrics{grid-template-columns:1fr;gap:16px;padding:0 4px}.ai-scope-card{grid-template-columns:1fr;gap:24px;padding:20px}.ai-scope-card ol{font-size:14px;line-height:22px}.ai-insight-card{border-radius:12px;min-height:0;padding:0;display:block}.ai-insight-copy{padding:20px;font-family:Georgia,Times New Roman,serif;font-size:14px;font-style:italic;line-height:20px}.case-figure--ai-full .case-figure-media,.case-figure--ai-process .case-figure-media,.case-figure--ai-wide .case-figure-media{aspect-ratio:35/22}}.case-figure figcaption{color:#1f1c1c80;font-size:12px;font-style:italic;line-height:1.4}.case-figure-zoom{opacity:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1f1c1c80;border-radius:10px;place-items:center;width:32px;height:32px;transition:opacity .16s;display:grid;position:absolute;bottom:10px;right:10px}.case-figure-media:focus-visible .case-figure-zoom,.case-figure-media:hover .case-figure-zoom,.case-tab-image-trigger:focus-visible .case-figure-zoom,.case-tab-image-trigger:hover .case-figure-zoom{opacity:1}.case-lightbox{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b8;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.case-lightbox-panel{width:min(92vw,1440px);height:min(88vh,960px);position:relative}.case-lightbox-image{width:100%;height:100%;position:relative}.case-lightbox-image img{object-fit:contain}.case-lightbox-close{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#141414b8;border:1px solid #fff3;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;font-size:28px;font-weight:300;line-height:1;display:grid;position:absolute;top:0;right:0}.case-lightbox-close-icon{width:14px;height:14px;display:block;position:relative}.case-lightbox-close-icon:after,.case-lightbox-close-icon:before{content:"";background:currentColor;border-radius:999px;width:16px;height:1.5px;position:absolute;top:50%;left:50%}.case-lightbox-close-icon:before{transform:translate(-50%,-50%)rotate(45deg)}.case-lightbox-close-icon:after{transform:translate(-50%,-50%)rotate(-45deg)}.case-section--layouts{gap:32px}.case-layout-block{flex-direction:column;gap:20px;width:100%;display:flex}.case-figure--mockup{display:block}.case-figure--mockup .case-figure-media{aspect-ratio:43/25;width:100%}.case-figure--mockup .case-figure-zoom{display:none}.case-tabs-block{flex-direction:column;gap:20px;width:100%;display:flex}.case-tabs{background:#ffffff80;border-radius:12px;width:fit-content;padding:4px;display:flex}.case-tabs button{cursor:pointer;background:0 0;border:0;border-radius:10px;min-width:32px;min-height:32px;padding:5px 10px;font-size:13px;line-height:18px}.case-tabs button[aria-selected=true]{background:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000001a}.case-tab-image{aspect-ratio:43/25;background:#fff;border-radius:16px;width:100%;position:relative;overflow:hidden}.case-tab-image--zoomable{display:block}.case-tab-image-trigger{cursor:zoom-in;background:0 0;border:0;padding:0;position:absolute;inset:0}.case-tab-image-trigger:focus-visible{outline-offset:-3px;outline:3px solid #1d4ed8}.case-tab-image img{opacity:0;visibility:hidden}.case-tab-image .case-figure-zoom img,.case-tab-image img.is-active{opacity:1;visibility:visible}.case-section--promo{gap:16px}.case-section--promo>.case-copy-wide{max-width:none}.case-promo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;margin-top:16px;display:grid}.case-promo-grid figure{background:#fff;border-radius:16px;width:100%;margin:0;position:relative;overflow:hidden}.case-promo-feature{aspect-ratio:43/25;grid-column:1/-1}.case-promo-tile{aspect-ratio:211/200}.case-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.case-navigation-card{background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;min-height:70px;padding:24px;font-size:15px;line-height:22px;display:flex;overflow:hidden}.case-navigation-card:first-child{justify-content:flex-start}.case-navigation-card img{flex:none}.case-navigation-card[aria-disabled=true]{cursor:default}.case-navigation-card:first-child:focus-visible span,.case-navigation-card:first-child:hover span,.case-navigation-card[href]:focus-visible span,.case-navigation-card[href]:hover span{text-underline-offset:3px;text-decoration:underline}.case-navigation-mobile{display:none}.case-site .site-footer{padding-top:40px}.case-site .footer-bottom{margin-top:60px}.digital-banking-case .desktop-navigation{width:232px}.digital-banking-case .case-section>.case-section-title--h2{letter-spacing:0;font-size:32px;line-height:44px}.digital-banking-case .case-section[id]{scroll-margin-top:24px}.digital-banking-case :is(p,li,figcaption,blockquote,.digital-info-card-copy,.digital-case-results span){text-wrap:pretty}.digital-banking-case :is(h1,h2,h3,h4){text-wrap:balance}.digital-banking-case .case-section h3{margin:0;font-size:20px;font-weight:600;line-height:28px}.digital-banking-case .case-section h4{max-width:720px;margin:0;font-size:15px;font-weight:600;line-height:22px}.digital-hero-media{flex-direction:column;gap:20px;width:100%;display:flex}.digital-case-summary{background:#fff;border-radius:20px;gap:32px;width:100%;padding:32px;display:flex;overflow:hidden}.digital-case-summary-column{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.digital-case-summary-results-column{gap:14px}.digital-case-summary p{margin:0;font-size:13px;line-height:20px}.digital-case-summary .digital-case-summary-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:12px;line-height:16px}.digital-case-summary-copy{flex-direction:column;gap:8px;display:flex}.digital-case-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.digital-case-results>div{flex-direction:column;gap:4px;min-width:0;display:flex}.digital-case-results strong{font-size:20px;font-weight:600;line-height:28px}.digital-case-results span{color:var(--muted);font-size:12px;line-height:16px}.digital-info-card-row{width:min(860px,100%)}.digital-discovery-section{gap:32px}@media (min-width:768px){.digital-banking-case .digital-overview-card{background:#fff;border-radius:20px;width:649px;padding:0;display:block}.digital-info-card-copy{align-self:stretch;padding:24px;font-family:Georgia,Times New Roman,serif;font-size:16px;font-style:italic;font-weight:400;line-height:24px}.digital-info-card-copy:first-letter{color:#db1111;font-size:24px;font-weight:700}}@media (max-width:767px){.case-content{gap:40px;padding:32px 20px 0}.case-breadcrumbs{gap:6px;margin-bottom:-16px;font-size:12px;line-height:16px}.case-breadcrumb-avatar{width:20px;height:20px}.case-hero,.case-hero-copy{gap:8px}.case-hero h1{letter-spacing:-.01em;font-size:24px;line-height:1.15}.case-copy-block li,.case-copy-block p,.case-copy-wide,.case-hero-copy p,.case-intro-notes p{font-size:14px;line-height:20px}.case-meta-row{padding-top:0}.case-tag-list{gap:6px}.case-tag{border-radius:6px;gap:4px;padding:4px 8px;font-size:12px;line-height:16px}.case-tag img{width:14px;height:14px}.case-reading-time{display:none}.case-cover{border-radius:8px;margin-top:16px}.case-intro-notes{gap:16px;margin-top:32px}.case-section{gap:20px}.case-copy-block{gap:8px}.case-copy-block ul{gap:8px;padding-left:20px}.case-info-card{border-width:1px;border-radius:12px;padding:16px;font-size:12px;line-height:16px}.case-section--compact{gap:12px}.case-quote{border-left-width:3px;padding:8px 12px 8px 16px;font-size:14px;line-height:20px}.case-figure{flex-direction:column;gap:8px;display:flex}.case-figure-media{border-radius:12px}.case-figure--discovery .case-figure-media,.case-figure--landscape .case-figure-media,.case-figure--mockup .case-figure-media,.case-figure--userflow .case-figure-media{aspect-ratio:35/22}.case-figure--architecture .case-figure-media{aspect-ratio:5/4}.case-figure figcaption{font-style:normal;line-height:16px}.case-figure-zoom{opacity:1;border-radius:6px;width:28px;height:28px;bottom:8px;right:8px}.case-figure--mockup .case-figure-zoom{display:none}.case-section--layouts{gap:32px}.case-layout-block,.case-tabs-block{gap:16px}.case-tabs{scrollbar-width:none;background:0 0;gap:6px;width:100%;padding:0;overflow-x:auto}.case-tabs::-webkit-scrollbar{display:none}.case-tabs button{border:1px solid var(--line);border-radius:99px;flex:none;min-height:32px;padding:4px 10px;font-size:12px;line-height:16px}.case-tabs button[aria-selected=true]{box-shadow:none;border-color:#fff}.case-tab-image{aspect-ratio:35/22;border-radius:12px}.case-section--promo{gap:20px}.case-promo-grid{gap:12px;margin-top:0}.case-lightbox{padding:16px}.case-lightbox-panel{width:100%;height:92vh}.case-promo-grid figure{border-radius:12px}.case-promo-feature{aspect-ratio:35/22}.case-promo-tile{aspect-ratio:1}.case-navigation{gap:12px}.case-navigation-card{white-space:normal;border-radius:12px;gap:8px;min-width:0;min-height:46px;padding:12px;font-size:12px;line-height:18px}.case-navigation-card span{min-width:0}.case-navigation-card img{width:20px;height:20px}.case-navigation-desktop{display:none}.case-navigation-mobile{display:inline}.case-site .site-footer{padding-top:40px;padding-bottom:32px}.case-site .footer-bottom{margin-top:40px}.digital-banking-case .case-hero{gap:16px}.digital-banking-case .case-cover{border-radius:12px;margin-top:0}.digital-banking-case .case-intro-notes{margin-top:0}.digital-banking-case .case-section>.case-section-title--h2{font-size:24px;line-height:28px}.digital-banking-case .case-section h3{font-size:20px;line-height:28px}.digital-case-summary{border-radius:12px;flex-direction:column;gap:24px;padding:20px}.digital-case-summary-column,.digital-case-summary-results-column{gap:12px}.digital-overview-card{padding:20px;font-family:Georgia,Times New Roman,serif;font-size:14px;font-style:italic;line-height:20px}.digital-info-card-copy:first-letter{color:#db1111;font-size:20px;font-weight:700}.digital-discovery-section{gap:20px}}.rbc-marketplace-case .case-cover{border-radius:16px}.rbc-marketplace-case .desktop-navigation{width:210px}.rbc-marketplace-case .case-section>.case-section-title--h2{letter-spacing:0;font-size:32px;line-height:44px}.rbc-marketplace-case .case-section>.case-section-title--h3{letter-spacing:0;font-size:20px;line-height:28px}.rbc-marketplace-case .case-section[id]{scroll-margin-top:24px}.rbc-marketplace-case .case-figure--rbc-architecture .case-figure-media,.rbc-marketplace-case .case-figure--rbc-data .case-figure-media{background:0 0}#usability .case-figure-media{border-radius:0}.rbc-marketplace-case .case-section h3{margin:0;font-size:20px;font-weight:600;line-height:28px}.rbc-marketplace-case .case-section h4,.rbc-release-card strong{margin:0;font-size:15px;font-weight:600;line-height:22px}.rbc-hero-media{flex-direction:column;gap:12px;width:100%;display:flex}.rbc-case-summary{background:#fff;border-radius:20px;gap:32px;width:100%;padding:32px;display:flex;overflow:hidden}.rbc-case-summary-column{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.rbc-case-summary-column:nth-child(2){gap:14px}.rbc-case-summary p{margin:0;font-size:13px;line-height:20px}.rbc-case-summary .rbc-case-summary-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:12px;line-height:16px}.rbc-case-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.rbc-case-results>div{flex-direction:column;gap:4px;min-width:0;display:flex}.rbc-case-results strong{font-size:20px;font-weight:600;line-height:28px}.rbc-case-results span{color:var(--muted);font-size:12px;line-height:16px}.rbc-project-brief{width:652px;max-width:100%}.rbc-project-brief .case-quote{max-width:none}.rbc-business-copy,.rbc-context-copy{gap:12px}.rbc-marketplace-case .rbc-business-section,.rbc-marketplace-case .rbc-iterations-section{gap:28px}.rbc-goals,.rbc-hypothesis-example,.rbc-metrics,.rbc-metrics-interpretation{flex-direction:column;gap:12px;width:100%;display:flex}.rbc-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;display:grid}.rbc-metric-feature,.rbc-metric-grid article{background:#fff;border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:16px;display:flex}.rbc-metric-feature{position:relative;overflow:hidden}.rbc-metric-feature-image{display:none}@media (min-width:768px){.rbc-metric-feature p{width:601px}.rbc-metric-feature-image{object-fit:contain;object-position:bottom;pointer-events:none;width:135px;max-width:none;height:100px;display:block;position:absolute;top:16px;left:677.5px}}.rbc-metric-feature p,.rbc-metric-grid p,.rbc-nda-note{color:var(--muted);margin:0;font-size:13px;line-height:18px}.rbc-contents ol,.rbc-numbered-list,.rbc-process-card ol{margin:0;padding-left:24px}.rbc-numbered-list{flex-direction:column;gap:8px;max-width:720px;font-size:15px;line-height:22px;list-style:outside;display:flex}.rbc-contents ol,.rbc-process-card ol{list-style:decimal}.rbc-overview-card{font-size:15px;line-height:22px}.rbc-info-card-row{width:min(860px,100%)}@media (min-width:768px){.rbc-marketplace-case .rbc-overview-card,.rbc-marketplace-case .rbc-release-card{background:#fff;border:0;border-radius:20px;width:649px;padding:0;display:block}.rbc-info-card-copy{align-self:stretch;padding:24px;font-family:Georgia,Times New Roman,serif;font-size:16px;font-style:italic;font-weight:400;line-height:24px}.rbc-info-card-copy:first-letter{color:#db1111;font-size:24px;font-weight:700}.rbc-release-card strong{display:none}}.rbc-contents{gap:16px}.rbc-contents ol{color:#438ddf;flex-direction:column;gap:12px;padding-left:27px;font-size:18px;line-height:1.4;display:flex}.rbc-contents a{color:inherit;text-underline-offset:2px;text-decoration:underline}.rbc-figure,.rbc-gallery figure,.rbc-video-frame{background:#fff;border-radius:16px;width:100%;margin:0;position:relative;overflow:hidden}.rbc-figure{aspect-ratio:324/169}.rbc-figure--architecture{aspect-ratio:27/20}.rbc-figure--wide{aspect-ratio:43/22}.rbc-figure img{object-fit:cover}.rbc-process-card{background:#fff;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;padding:16px;display:grid}.rbc-process-card>div{flex-direction:column;gap:8px;display:flex}.rbc-process-card ol{flex-direction:column;gap:4px;font-size:15px;line-height:22px;display:flex}.rbc-goals{gap:20px}.rbc-goal-card{background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) 13px minmax(0,1fr) 13px minmax(0,1fr);gap:8px;width:100%;padding:16px;display:grid}.rbc-goal-card p{min-width:0;margin:0;font-size:13px;line-height:18px}.rbc-goal-card span{color:var(--muted);flex:none}.rbc-business-goals{flex-direction:column;gap:8px;width:100%;display:flex}.rbc-design-section{gap:32px}.rbc-design-block{flex-direction:column;gap:20px;width:100%;display:flex}.rbc-hypothesis-example>div{border-left:2px solid var(--ink);background:0 0;flex-direction:column;gap:10px;width:652px;max-width:100%;padding:10px 20px;display:flex}.rbc-hypothesis-example p{margin:0;font-size:15px;line-height:22px}.rbc-hypothesis-example p:last-child{color:var(--muted);font-size:13px;line-height:18px}.rbc-figma-list-block,.rbc-figma-list-block .case-list-roomy{gap:12px}.rbc-release-card{flex-direction:column;gap:8px;padding-right:236px;display:flex}.rbc-video-frame{aspect-ratio:7/4}.rbc-video-frame--iterations{aspect-ratio:43/22}.rbc-gallery video,.rbc-video-frame video{object-fit:cover;width:100%;height:100%;display:block}.rbc-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"wide wide""error catalog""loyalty square";gap:16px;width:100%;display:grid}.rbc-gallery-wide{aspect-ratio:860/484;grid-area:wide}.rbc-gallery-square{grid-area:square}.rbc-gallery-square,.rbc-gallery>.rbc-figure{aspect-ratio:422/400}.rbc-gallery-error{grid-area:error}.rbc-gallery-catalog{grid-area:catalog}.rbc-gallery-loyalty{grid-area:loyalty}@media (max-width:767px){.rbc-marketplace-case .case-breadcrumbs{margin-bottom:0}.rbc-marketplace-case .case-hero{gap:16px}.rbc-marketplace-case .case-section>.case-section-title--h2{font-size:24px;line-height:28px}.rbc-marketplace-case .case-section h3,.rbc-marketplace-case .case-section>.case-section-title--h3{font-size:20px;line-height:28px}.rbc-marketplace-case .case-cover{border-radius:12px;margin-top:0}.rbc-marketplace-case .case-intro-notes{margin-top:24px}.rbc-case-summary{border-radius:12px;flex-direction:column;gap:24px;padding:20px}.rbc-case-results,.rbc-case-summary-column,.rbc-case-summary-column:nth-child(2){gap:12px}.rbc-project-brief .case-quote{padding-left:16px}.rbc-marketplace-case .case-section{gap:16px}.rbc-marketplace-case .rbc-design-block,.rbc-marketplace-case .rbc-design-section,.rbc-marketplace-case .rbc-gallery-section{gap:20px}.rbc-marketplace-case .rbc-business-section{gap:18px}.rbc-marketplace-case .rbc-iterations-section{gap:16px}.rbc-marketplace-case .case-figure-zoom{opacity:0}.rbc-marketplace-case .case-figure-media:focus-visible .case-figure-zoom,.rbc-marketplace-case .case-figure-media:hover .case-figure-zoom{opacity:1}.rbc-marketplace-case .rbc-problem-section{gap:15px}.rbc-marketplace-case .rbc-task-section{gap:16px}.rbc-marketplace-case .rbc-analytics-section,.rbc-marketplace-case .rbc-goal-section,.rbc-marketplace-case .rbc-process-section{gap:20px}.rbc-business-goals,.rbc-metric-grid,.rbc-process-card{grid-template-columns:1fr}.rbc-metric-feature p,.rbc-metric-grid p{font-size:12px;line-height:16px}.rbc-nda-note{font-size:13px;line-height:18px}.rbc-contents ol,.rbc-numbered-list,.rbc-process-card ol{font-size:14px;line-height:20px}#usability .case-figure figcaption{display:none}.rbc-overview-card,.rbc-release-card{padding:20px;font-size:14px;line-height:20px}.rbc-figure,.rbc-figure--wide{aspect-ratio:350/183;border-radius:12px}.rbc-figure--architecture{aspect-ratio:35/26}.rbc-process-card{border-radius:12px;gap:20px;min-height:360px;padding:16px}.rbc-goals{gap:20px}.rbc-business-goals .rbc-goal-card,.rbc-goal-card{flex-direction:column;gap:4px;display:flex}.rbc-goals>.rbc-goal-card{min-height:172px}.rbc-business-goals{gap:8px}.rbc-business-goals .rbc-goal-card:first-child{min-height:190px}.rbc-business-goals .rbc-goal-card:nth-child(n+2){min-height:172px}.rbc-goal-card p{width:100%;font-size:13px;line-height:18px}.rbc-goal-card span{align-self:flex-start;transform:rotate(90deg)}.rbc-hypothesis-example>div{gap:10px;padding:10px 16px}.rbc-hypothesis-example p{font-size:14px;line-height:20px}.rbc-hypothesis-example p:last-child{font-size:12px;line-height:16px}.rbc-analytics-section>.case-copy-wide:last-child{min-height:120px}.rbc-video-frame{aspect-ratio:7/4;border-radius:12px}.rbc-video-frame--iterations{aspect-ratio:350/183}.rbc-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"wide wide""square square""error loyalty";gap:8px}.rbc-gallery-square,.rbc-gallery-wide{aspect-ratio:35/20}.rbc-gallery>.rbc-figure{aspect-ratio:171/160;border-radius:8px}.rbc-gallery>.rbc-gallery-catalog{display:none}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}