.pw-gate{min-height:calc(100svh - var(--header-h));justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.pw-gate__blob{pointer-events:none;filter:blur(48px);background:radial-gradient(55% 55% at 50% 48%,#ffd7648c 0%,#ffb9284d 38%,#0000 72%);position:absolute;inset:0}.pw-gate__form{z-index:1;flex-direction:column;align-items:center;gap:12px;width:min(360px,100% - 64px);display:flex;position:relative}.pw-gate__field{border-bottom:1px solid var(--ink);align-items:center;gap:16px;width:100%;padding-bottom:6px;display:flex}.pw-gate__input{font:var(--font-weight-light,300) 14px / 24px var(--font);color:var(--ink);letter-spacing:0;background:0 0;border:none;outline:none;flex:1}.pw-gate__input::placeholder{color:var(--ink);opacity:.55}.pw-gate__input--error::placeholder{color:#c0392b;opacity:1}.pw-gate__submit{cursor:pointer;color:var(--ink);background:0 0;border:none;flex:none;align-items:center;padding:0;font-size:18px;line-height:1;transition:opacity .15s;display:flex}.pw-gate__submit:hover{opacity:.6}.pw-gate__error{font:300 12px / 1.4 var(--font);color:#c0392b;text-align:center}@font-face{font-family:Korolev Fallback;src:url(/fonts/saira-wdth.woff2)format("woff2-variations");font-weight:100 900;font-stretch:50% 125%;font-style:normal;font-display:swap;size-adjust:109%}@font-face{font-family:Korolev Fallback;src:url(/fonts/saira-wdth-italic.woff2)format("woff2-variations");font-weight:100 900;font-stretch:50% 125%;font-style:italic;font-display:swap;size-adjust:109%}:root{--bg:#fafafa;--ink:#1f1f1f;--ink-quiet:#1f1f1fad;--hairline:#1f1f1f24;--glass:#fafafa80;--device:#1f1f1f;--accent-teal:#77cbcb;--accent-green:#85cb77;--accent-amber:#ffbb46;--accent-violet:#d27ffb;--font:"korolev", "Korolev", "Korolev Fallback", system-ui, sans-serif;--wdth-text:"wdth" 87.5;--wdth-display:"wdth" 80;--text-size:14px;--text-leading:24px;--text-tracking:.02em;--u:calc(clamp(360px, 100vw, 1680px) / 1280);--page-max:1680px;--margin:32px;--header-h:128px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}@media (width<=899px){:root{--margin:16px;--header-h:71px}}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;scrollbar-color:#1f1f1f47 transparent;scrollbar-width:thin}html:has(.menu[data-open=true]){overflow:hidden}body{background:var(--bg);min-height:100svh;font-family:var(--font);font-variation-settings:var(--wdth-text);font-weight:300;font-size:var(--text-size);line-height:var(--text-leading);letter-spacing:var(--text-tracking);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:0}p,h1,h2,h3,ul{margin:0}ul{padding:0;list-style:none}::selection{background:var(--ink);color:var(--bg)}:focus-visible{outline:1.65px solid var(--ink);outline-offset:4px;border-radius:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.text-link{transition:background-size .32s var(--ease-out);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:1px}.text-link:hover,.text-link:focus-visible{background-size:100% 1px}[data-js] .media{opacity:0;transition:opacity .48s var(--ease-out)}[data-js] .media.is-loaded{opacity:1}::view-transition-old(root){animation:vt-out .18s var(--ease-in-out) both}::view-transition-new(root){animation:vt-in .42s var(--ease-out) both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation-duration:.12s}::view-transition-new(root){animation-duration:.12s}::view-transition-new(root){animation-name:vt-fade}@keyframes vt-fade{0%{opacity:0}}.text-link{transition:none}}.skip-link{z-index:100;top:8px;left:var(--margin);background:var(--ink);color:var(--bg);transition:transform .24s var(--ease-out);border-radius:999px;padding:4px 12px;position:fixed;transform:translateY(-160%)}.skip-link:focus-visible{transform:none}.site-header{z-index:60;height:var(--header-h);padding:0 var(--margin);background:var(--glass);-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}html:has(.menu[data-open=true]) .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.site-header__home{color:var(--ink);border-radius:4px;display:block}.wordmark{aspect-ratio:280/64.2565;background-color:currentColor;width:280px;display:block;-webkit-mask:url(/img/figma/wordmark.svg) 50%/contain no-repeat;mask:url(/img/figma/wordmark.svg) 50%/contain no-repeat}@media (width<=899px){.site-header .wordmark{width:176px}}.menu-button{color:var(--ink);border-radius:999px;align-items:center;gap:12px;display:inline-flex;position:relative}.menu-button__ring{flex:none;width:32px;height:32px;position:relative}.menu-button__ring:before,.menu-button__ring:after{content:"";background:currentColor;position:absolute}.menu-button__ring:before{inset:0;-webkit-mask:url(/img/figma/menu.svg) 50%/contain no-repeat;mask:url(/img/figma/menu.svg) 50%/contain no-repeat}.menu-button__ring:after{transition:transform .36s var(--ease-out);border-radius:50%;inset:7px;transform:scale(0)}.menu-button[aria-expanded=true] .menu-button__ring:after{transform:scale(1)}.menu-button__label{opacity:0;transition:opacity .2s var(--ease-out), transform .36s var(--ease-out);transform:translate(8px)}.menu-button[aria-expanded=true] .menu-button__label,.menu-button:focus-visible .menu-button__label{opacity:1;transform:none}@media (hover:hover){.menu-button:hover .menu-button__ring:after{transform:scale(.32)}.menu-button[aria-expanded=true]:hover .menu-button__ring:after{transform:scale(.8)}.menu-button:hover .menu-button__label{opacity:1;transform:none}}.menu-button--light{color:var(--bg)}.back-to-top{width:32px;height:32px;color:var(--ink);border-radius:50%;place-items:center;display:grid}.back-to-top__icon{width:32px;height:32px;transition:transform .42s var(--ease-out);background:currentColor;-webkit-mask:url(/img/figma/s-icon.svg) 50%/contain no-repeat;mask:url(/img/figma/s-icon.svg) 50%/contain no-repeat}@media (hover:hover){.back-to-top:hover .back-to-top__icon{transform:translateY(-4px)}}.menu{z-index:55;overscroll-behavior:contain;background:var(--bg);visibility:hidden;clip-path:circle(0px at var(--ox) var(--oy));transition:clip-path .42s var(--ease-in-out), visibility 0s linear .42s;position:fixed;inset:0;overflow-y:auto}.menu[data-open=true]{visibility:visible;clip-path:circle(var(--or) at var(--ox) var(--oy));transition:clip-path .76s var(--ease-out), visibility 0s}.menu__inner{padding:calc(var(--header-h) + 32px) var(--margin) 48px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.menu__contact{flex-direction:column;gap:32px;list-style:none;display:flex}.menu__nav{justify-self:end}.menu__nav ul{flex-direction:column;align-items:flex-end;gap:32px;list-style:none;display:flex}.menu__link{transition:opacity .24s var(--ease-out);align-items:center;gap:10px;line-height:24px;display:flex}.menu__link[aria-current=page]:before{content:"";background:var(--ink);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:block}@media (hover:hover){.menu__nav ul:has(.menu__link:hover) .menu__link:not(:hover){opacity:.28}}.menu__nav li,.menu__contact li{opacity:0;transition:opacity .16s var(--ease-out), transform .16s var(--ease-out);transform:translateY(14px)}.menu[data-open=true] .menu__nav li,.menu[data-open=true] .menu__contact li{opacity:1;transform:none}.menu[data-open=true] .menu__nav li{transition:opacity .52s var(--ease-out) calc(.16s + var(--i) * 34ms), transform .76s var(--ease-out) calc(.16s + var(--i) * 34ms)}.menu[data-open=true] .menu__contact li:first-child{transition:opacity .52s var(--ease-out) .194s, transform .76s var(--ease-out) .194s}.menu[data-open=true] .menu__contact li:nth-child(2){transition:opacity .52s var(--ease-out) .228s, transform .76s var(--ease-out) .228s}.menu[data-open=true] .menu__contact li:nth-child(3){transition:opacity .52s var(--ease-out) .262s, transform .76s var(--ease-out) .262s}@media (prefers-reduced-motion:reduce){.menu,.menu[data-open=true]{clip-path:none}.menu{opacity:0;transition:opacity .16s linear,visibility 0s linear .16s}.menu[data-open=true]{opacity:1;transition:opacity .16s linear}.menu__nav li,.menu__aside,.menu[data-open=true] .menu__nav li,.menu[data-open=true] .menu__aside{transition:opacity .16s linear;transform:none}.menu-button__ring:after,.menu-button__label,.back-to-top__icon{transition-duration:0s}}.glitch{background-size:cover;background-color:var(--ink);display:block}.home,.home-footer{max-width:var(--page-max);margin-inline:auto}.home-intro{padding:calc(117 * var(--u)) var(--margin) 0}.home-intro__links{flex-wrap:wrap;gap:8px 40px;display:flex}.home-intro__portrait{width:calc(100% + 2 * var(--margin));margin-inline:calc(-1 * var(--margin));aspect-ratio:1280/244;margin-top:calc(25 * var(--u));background-color:var(--bg)}.home-intro__bio{width:max(280px,36.8421%);margin:calc(25 * var(--u)) 0 0 auto;text-wrap:pretty}.home-hero{display:none}.home-grid{margin-top:calc(204 * var(--u));grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 8px;display:grid}.tile{--rx:50%;--ry:50%;aspect-ratio:1;background:#ededed;display:block;position:relative;overflow:hidden}.tile__art{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tile[data-slug=span] .tile__art--photo,.tile[data-slug=photography] .tile__art--photo{max-width:none}.tile[data-slug=span] .tile__art--photo{width:314.79%;height:177.04%;inset:-68.24% auto auto -115.8%}.tile[data-slug=photography] .tile__art--photo{width:103.15%;height:154.52%;inset:-54.46% auto auto 0}.tile__art--reveal{clip-path:circle(0% at var(--rx) var(--ry));transition:clip-path .44s var(--ease-in-out)}.tile__overlay{-webkit-backdrop-filter:blur(15px);background:#fafafaa6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tile__overlay-name{font-variation-settings:var(--wdth-display);letter-spacing:-.05em;color:var(--ink);text-align:center;padding:0 1em;font-size:clamp(28px,3.75vw,48px);font-weight:100;line-height:1.2}.tile[data-slug=looker]{background:radial-gradient(at 108% 200%,#226a85 0%,#3e92a1 50%,#5ababd 100%)}@media (hover:hover){.tile:hover .tile__art--reveal{clip-path:circle(142% at var(--rx) var(--ry));transition:clip-path .86s var(--ease-out)}}.tile:focus-visible{outline-offset:3px}.tile:focus-visible .tile__art--reveal{clip-path:circle(142%);transition:clip-path .86s var(--ease-out)}.home-grid__cell--text{aspect-ratio:1;place-items:center;display:grid;container-type:inline-size}.experience{width:100%;padding:0 5.09554cqw}.experience__list{row-gap:32px;display:grid}.experience__row{grid-template-columns:minmax(0,1fr) auto 16.5605cqw;align-items:baseline;display:grid}.experience__company{font-weight:600}.experience__role,.experience__years{text-align:right;justify-self:end}.experience__years{font-variant-numeric:tabular-nums}@container (width<520px){.experience{padding:0 8px}.experience__list{row-gap:32px}.experience__row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"company years""role role"}.experience__company{grid-area:company}.experience__years{grid-area:years}.experience__role{text-align:left;grid-area:role;justify-self:start}}.testimonials{gap:64px;width:min(280px,100%);display:grid}.testimonial{margin:0}.testimonial__quote{text-wrap:pretty;margin:0;font-style:italic}.testimonial__by{flex-direction:column;margin-top:14px;font-size:13px;line-height:20px;display:flex}.testimonial__name{font-weight:500}.home-footer{padding:0 var(--margin) calc(29 * var(--u));margin-top:calc(99 * var(--u));grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.home-footer__copy{grid-column:1;margin:0;font-size:14px;line-height:24px}.home-footer .case-footer__nav{grid-column:2}.home-footer__top{grid-column:3;justify-self:end}@media (width<=699px){.home-intro{display:none}.home-hero{height:100svh;min-height:560px;max-height:940px;color:var(--bg);background:var(--ink);display:block;position:relative;overflow:hidden}.home-hero__portrait{width:100%;height:100%;position:absolute;inset:0}.home-hero:after{content:"";pointer-events:none;background:linear-gradient(#14141470 0%,#1414141a 34%,#1414141f 52%,#141414b8 100%);position:absolute;inset:0}.home-hero__top{z-index:1;top:max(40px, env(safe-area-inset-top));flex-direction:column;align-items:center;gap:36px;display:flex;position:absolute;left:0;right:0}.home-hero__mark{width:180px}.home-hero .menu-button__label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.home-hero__bio{z-index:1;left:var(--margin);right:var(--margin);bottom:calc(40px + env(safe-area-inset-bottom));text-wrap:pretty;max-width:44ch;position:absolute}.home-grid{grid-template-columns:minmax(0,1fr);margin-top:0;padding:8px}.home-grid__cell--text{aspect-ratio:auto;padding:72px 0}.testimonials{width:min(300px,100%)}.home-footer{padding:0 var(--margin) 64px;grid-template-columns:minmax(0,1fr);justify-items:center;row-gap:64px;margin-top:128px}.home-footer .case-footer__nav,.home-footer__top{grid-column:1;justify-self:center}}@media (prefers-reduced-motion:reduce){.tile__art--reveal,.tile:hover .tile__art--reveal,.tile:focus-visible .tile__art--reveal{clip-path:none;opacity:0;transition:opacity .2s linear}.tile:hover .tile__art--reveal.is-loaded,.tile:focus-visible .tile__art--reveal.is-loaded{opacity:1}}[data-js] .tile{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(12px)}[data-js] .tile.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-js] .tile{transition:opacity .12s linear;transform:none}}.case,.case-footer{max-width:var(--page-max);margin-inline:auto}.case-head{padding:64px var(--margin) 0;text-align:right}.case-head__title{font-variation-settings:var(--wdth-display);letter-spacing:0;font-size:48px;font-weight:100;line-height:60px}.figure{margin:0}.figure img{width:100%;height:auto}.text-block__label{font:inherit;font-weight:500}.text-block p{text-wrap:pretty}.text-block__link{align-items:center;gap:8px;margin-top:8px;font-weight:600;text-decoration:none;display:inline-flex}.text-block__link svg{transition:transform .36s var(--ease-out)}@media (hover:hover){.text-block__link:hover svg{transform:translate(4px)}}@media (width>=900px){.case-rows{padding:0 var(--margin)}.case-row{margin-top:calc(var(--mt) * var(--u));display:grid}.case-row>*{width:calc(var(--w) / 1216 * 100%);margin:calc(var(--y) * var(--u)) 0 0 calc((var(--x) - 32) / 1216 * 100%);grid-area:1/1;place-self:start}}@media (width<=899px){.case-rows{max-width:632px;padding:0 var(--margin);margin-inline:auto}.case-row{flex-wrap:wrap;justify-content:center;gap:32px 16px;margin-top:32px;display:flex}.case-row[data-break]{margin-top:128px}.case-row[data-first]{margin-top:64px}.case-row>*{width:100%}.case-row>.text-block{order:-1;margin-bottom:-24px}.case-row>.figure--phone{width:min(calc(var(--w) * 1px), 280px)}.case-row>.figure--tile{width:min(calc(var(--w) * 1px), 100%)}.case-row[data-pair]>.figure--tile{width:calc(50% - 8px)}}@media (width>=600px) and (width<=899px){.case-row>.figure--phone{width:min(50% - 8px,280px)}}.case-footer{margin-top:calc(128 * var(--u));padding:0 var(--margin) calc(34 * var(--u));grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.case-footer__nav{grid-column:2;gap:32px;display:flex}.case-footer__arrow{border-radius:4px;place-items:center;width:32.374px;height:32.374px;display:grid;position:relative}.case-footer__chevron{transition:transform .36s var(--ease-out);display:block}.case-footer__chevron img{width:23.892px;height:23.892px}.case-footer__arrow--prev .case-footer__chevron{transform:rotate(-45deg)}.case-footer__arrow--next .case-footer__chevron{transform:rotate(135deg)}.case-footer__hint{background:var(--ink);color:var(--bg);letter-spacing:.04em;text-transform:uppercase;opacity:0;pointer-events:none;border-radius:62px;align-items:center;padding:8px 16px;font-size:12px;font-weight:500;line-height:1;transition:opacity 60ms ease-out;display:flex;position:absolute;bottom:calc(100% + 12px);left:50%;translate:-50%}.case-footer__hint-content{white-space:nowrap;opacity:0;will-change:max-width, opacity;max-width:0;transition:max-width .3s var(--ease-out), opacity .15s var(--ease-out);align-items:center;gap:8px;display:flex;overflow:hidden}.case-footer__hint-arrow{flex:none}.case-footer__arrow:focus-visible .case-footer__hint{opacity:1}.case-footer__arrow:focus-visible .case-footer__hint-content{opacity:1;max-width:150px}@media (hover:hover){.case-footer__arrow--prev:hover .case-footer__chevron{transform:translate(-5px)rotate(-45deg)}.case-footer__arrow--next:hover .case-footer__chevron{transform:translate(5px)rotate(135deg)}.case-footer__arrow:hover .case-footer__hint{opacity:1}.case-footer__arrow:hover .case-footer__hint-content{opacity:1;max-width:150px}}.case-footer__copy{grid-column:1;margin:0;font-size:14px;line-height:24px}.case-footer__top{grid-column:3;justify-self:end}@media (width<=899px){.case-footer{grid-template-columns:minmax(0,1fr);justify-items:center;row-gap:64px;margin-top:128px;padding-bottom:64px}.case-footer__nav,.case-footer__top{grid-column:1;justify-self:center}}@media (prefers-reduced-motion:reduce){.case-footer__chevron,.case-footer__hint,.case-footer__hint-content{transition:opacity .12s linear}.case-footer__arrow--prev:hover .case-footer__chevron{transform:rotate(-45deg)}.case-footer__arrow--next:hover .case-footer__chevron{transform:rotate(135deg)}}@keyframes slide-fade-in{0%{opacity:0;transform:translateY(8px)}}[data-js] .case-head__title{animation:.7s cubic-bezier(.4,0,.2,1) .1s both slide-fade-in}[data-js] .case-head__role{animation:.7s cubic-bezier(.4,0,.2,1) .25s both slide-fade-in}[data-js] .case-row{opacity:0;transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);transform:translateY(16px)}[data-js] .case-row.is-visible{opacity:1;transform:none}.animate-word{opacity:0;transition:opacity .4s ease-out,translate .4s ease-out;display:inline-block;translate:0 8px}.case-row.is-visible .animate-word{opacity:1;translate:0}@media (prefers-reduced-motion:reduce){[data-js] .case-head__title,[data-js] .case-head__role{animation-duration:.12s;animation-delay:0s}[data-js] .case-row{transition:opacity .12s linear;transform:none}.animate-word{transition:opacity .12s linear;translate:0}}
