@font-face{font-family:PP Radio Grotesk;src:url(/fonts/PPRadioGrotesk-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:PP Radio Grotesk;src:url(/fonts/PPRadioGrotesk-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--bg:#fff;--ink:#0a0a0a;--ink-muted:#737373;--ink-muted-large:#8a8a8a;--ink-faint:#0a0a0a91;--ink-strong-muted:#2e2e2e;--wordmark:#d0d0d0;--placeholder:#f0f0f0;--glass-fill:#fff3;--glass-blur:8px;--font:"PP Radio Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;--text-sm:14px;--text-sm-lh:20px;--text-label:12px;--text-label-lh:16px;--text-caps-tracking:.03em;--text-md:16px;--text-md-lh:24px;--text-lg:40px;--text-lg-lh:48px;--text-xl:48px;--text-xl-lh:56px;--text-xl-tracking:-.02em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--cols:12;--margin:32px;--gutter:20px;--edge:28px;--ease:cubic-bezier(.22, 1, .36, 1);--dur-slide:.4s;--ease-glide:cubic-bezier(.45, 0, .15, 1);--dur-glide:.65s;--dur-fade:.25s;--dur-swap:.2s}@media (width<=767px){:root{--cols:4;--margin:16px;--gutter:16px;--edge:20px;--text-lg:28px;--text-lg-lh:32px;--text-xl:32px;--text-xl-lh:40px}}@media (prefers-reduced-motion:reduce){:root{--dur-slide:0s;--dur-glide:0s;--dur-fade:.12s;--dur-swap:.12s}}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--text-sm);line-height:var(--text-sm-lh);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background:var(--bg);margin:0;overflow-x:hidden}p,ol,ul,h1,h2,h3{font:inherit;margin:0;padding:0}ol,ul{list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;margin:0;padding:0}img{display:block}:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header,.site-footer,.table-head{font-size:var(--text-label);line-height:var(--text-label-lh);text-transform:uppercase;letter-spacing:var(--text-caps-tracking)}.muted{color:var(--ink-muted)}.glass{background:var(--glass-fill);backdrop-filter:blur(var(--glass-blur));white-space:nowrap;transition:color var(--dur-fade) ease;border-radius:0;align-items:center;margin:-6px -10px;padding:6px 10px;display:inline-flex}.site-header{z-index:10;top:var(--edge);grid-template-columns:repeat(var(--cols), 1fr);column-gap:var(--gutter);padding-inline:var(--margin);pointer-events:none;height:16px;display:grid;position:fixed;left:0;right:0}.site-header>*{pointer-events:auto}.nav-about{grid-column:1;justify-self:start}.nav-contact{grid-column:-2;justify-self:end}.switcher{gap:24px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.switcher button{color:var(--ink-faint);gap:6px}.switcher button[aria-checked=true]{color:var(--ink)}.nav-label{text-underline-offset:3px;transition:text-decoration-color var(--dur-fade) ease;text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:1px}body[data-section=work] .switcher button[aria-checked=true] .nav-label,body[data-section=about] .nav-about .nav-label{text-decoration-color:currentColor}.switcher svg{flex:none;width:16px;height:16px}.site-footer{z-index:10;bottom:var(--edge);padding-inline:var(--margin);pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:fixed;left:0;right:0}.footer-col{flex-direction:column;gap:4px;display:flex}.footer-col>*{pointer-events:auto}.footer-right{align-items:flex-end}.site-footer .glass{backdrop-filter:none;background:0 0}.time{font-variant-numeric:tabular-nums;margin-left:8px}.footer-mobile{display:none}.wordmark{z-index:0;text-transform:uppercase;color:var(--wordmark);pointer-events:none;user-select:none;will-change:transform;justify-content:space-between;padding-inline:24px;font-size:min(22.85vw,420px);font-weight:700;line-height:1.18;display:flex;position:fixed;top:0;left:0;right:0}main{z-index:1;position:relative}.work{height:100vh;min-height:640px;position:relative;overflow:hidden}.view{transition:opacity var(--dur-fade) ease, visibility var(--dur-fade);position:absolute;inset:0}.work[data-view=strip] .view-index,.work[data-view=index] .view-strip{opacity:0;visibility:hidden}.work[data-view=index][data-overlay=true] .view-strip{z-index:2;opacity:1;visibility:visible}@media (width<=767px){.work[data-view=index][data-overlay=true] .view-strip{background:var(--bg)}.work[data-view=index]{height:auto;min-height:max(100vh,640px)}.work[data-view=index] .view-index{position:relative}.work[data-view=index] .project-table{padding-top:96px;padding-bottom:128px;position:relative;top:0}}.strip{touch-action:pan-y;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.strip[data-open=false],.strip[data-open=false] *{cursor:grab}.strip.is-dragging,.strip.is-dragging *{cursor:grabbing}.strip img{-webkit-user-drag:none}.strip-item{transform-origin:0 0;transition:transform var(--dur-glide) var(--ease-glide), width var(--dur-glide) var(--ease-glide), height var(--dur-glide) var(--ease-glide), opacity var(--dur-fade) ease;will-change:transform;backface-visibility:hidden;position:absolute;top:0;left:0}.strip .no-transition,.strip .strip-item.no-transition{transition:none}.strip-media{contain:paint;background:var(--placeholder);width:100%;height:100%;transition:opacity var(--dur-glide) var(--ease-glide);display:block;position:relative;overflow:hidden}.strip-item:not(.is-selected) .strip-media{opacity:.4}@media (hover:hover){.strip-item:not(.is-selected):hover .strip-media{opacity:1}}.strip-media img{object-fit:cover;width:100%;height:100%;transition:opacity var(--dur-swap) ease;position:absolute;inset:0}.strip-media .gallery-img{opacity:0;visibility:hidden;transition:opacity var(--dur-swap) ease, visibility 0s linear var(--dur-swap)}.strip-item.is-selected.is-showing-gallery .gallery-img{opacity:1;visibility:visible;transition:opacity var(--dur-swap) ease, visibility 0s}.strip-num{top:calc(100% + 8px * var(--inv,1));color:var(--ink-muted);font-variant-numeric:tabular-nums;transform:scale(var(--inv,1));transform-origin:0 0;white-space:nowrap;transition:opacity var(--dur-fade) ease;position:absolute;left:0}.strip-item.is-selected .strip-num{opacity:0}.strip-caption,.strip-desc{transition:transform var(--dur-glide) var(--ease-glide), opacity var(--dur-fade) ease;position:absolute;top:0;left:0}.strip-caption.is-swapping{opacity:0;transition-duration:var(--dur-glide), .12s}.strip-item.is-selected{z-index:1}.strip-item:not(.is-selected){transition:transform var(--dur-glide) var(--ease-glide), opacity var(--dur-fade) ease}.caption-head,.caption-stats{gap:8px;display:flex}.caption-stats{gap:12px}.strip-desc{opacity:0;pointer-events:none;max-width:34em}.strip[data-open=true] .strip-desc{opacity:1;pointer-events:auto;transition-delay:0s,.12s}.strip[data-open=true] .strip-item:not(.is-selected) .strip-num{opacity:1}.strip-ctrl{z-index:2;background:var(--glass-fill);width:36px;height:36px;backdrop-filter:blur(var(--glass-blur));color:var(--ink);transition:transform var(--dur-slide) var(--ease), opacity var(--dur-fade) ease;border-radius:50%;justify-content:center;align-items:center;display:none;position:absolute;top:0;left:0}.strip-ctrl svg{width:36px;height:36px}@media (hover:none),(pointer:coarse),(width<=767px){.strip[data-open=true] .strip-ctrl{display:flex}}.cursor{z-index:20;background:var(--glass-fill);width:36px;height:36px;backdrop-filter:blur(var(--glass-blur));color:var(--ink);pointer-events:none;opacity:0;border-radius:50%;margin:-18px 0 0 -18px;transition:opacity .15s;position:fixed;top:0;left:0}.cursor svg{opacity:0;width:36px;height:36px;transition:opacity .12s;position:absolute;inset:0}.cursor[data-variant=next] .cursor-next,.cursor[data-variant=prev] .cursor-prev,.cursor[data-variant=close] .cursor-close,.cursor[data-variant]:not([data-variant=none]){opacity:1}.strip.has-cursor,.strip.has-cursor *{cursor:none}.project-table{padding-inline:var(--margin);position:absolute;top:112px;left:0;right:0}.table-row{column-gap:var(--gutter);grid-template-columns:repeat(5,1fr);height:16px;display:grid;position:relative}.table-body .table-row{align-items:center;height:28px}.table-head{color:var(--ink-muted);margin-bottom:24px}.table-body,.about-cv .about-item-main,.caption-head{font-variant-numeric:tabular-nums}.row-num{margin-right:4px}.table-row>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.table-body .table-row{transition:color var(--dur-fade) ease}@media (hover:hover){.table-body:hover .table-row{color:var(--ink-muted)}.table-body .table-row:hover{color:var(--ink)}}.row-link:after{content:"";position:absolute;inset:0}.cell-mobile{display:none}.about{grid-template-columns:repeat(var(--cols), 1fr);column-gap:var(--gutter);padding-inline:var(--margin);padding-bottom:max(224px,100vh - 556px);display:grid;position:relative}.about-main{grid-area:1/1/auto/-1;grid-template-columns:subgrid;display:grid}.about-intro{grid-area:2/1/auto/-1;grid-template-columns:subgrid;align-items:start;margin-top:112px;display:grid}.intro-statement{max-width:21em;font-weight:400;font-size:var(--text-lg);line-height:var(--text-lg-lh);letter-spacing:var(--text-xl-tracking);text-wrap:balance;grid-column:1/8;margin:0}.intro-note{grid-column:9/13;padding-top:4px}.intro-body{max-width:34em;font-size:var(--text-md);line-height:var(--text-md-lh);margin:0}.about-lists{grid-area:1/1/auto/9;padding-top:220px}.about-cv{margin-top:112px}.about-item{align-items:flex-start;display:flex}.about-item-main{font-size:var(--text-xl);line-height:var(--text-xl-lh);letter-spacing:var(--text-xl-tracking);color:var(--ink-muted-large);text-underline-offset:6px;transition:color var(--dur-fade) ease, text-decoration-color var(--dur-fade) ease;text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:2px}.about-item.is-active .about-item-main{color:var(--ink);text-decoration-color:currentColor}@media (hover:hover){.about-item:not(.is-active) .about-item-main:hover{color:var(--ink-strong-muted)}}.about-cv .about-item{height:56px}.about-cv .about-item-main{width:calc((100% - 7 * var(--gutter)) / 8 * 3 + 3 * var(--gutter));flex:none}.role-meta{padding-top:12px}.role-company{font-size:var(--text-md);line-height:var(--text-md-lh)}.role-title{color:var(--ink-muted)}.about-detail{grid-area:1/9/auto/13;align-self:start;margin-top:224px;position:sticky;top:224px}.detail-body{font-size:var(--text-md);line-height:var(--text-md-lh);max-width:34em;transition:opacity var(--dur-swap) ease}.about-detail.is-swapping .detail-body{opacity:0}@media (width<=767px){.wordmark{padding-inline:var(--margin)}.switcher{gap:24px}.project-table{top:96px}.table-head{display:none}.table-body .table-row{grid-template-rows:20px 20px;grid-template-columns:32px 1fr auto;height:56px;padding-bottom:16px;display:grid}.table-row>.cell-desktop{display:none}.table-row>.cell-mobile{display:block}.cell-num{grid-area:1/1}.cell-title{grid-area:2/2}.cell-status{text-align:right;grid-area:1/3}.cell-client{grid-area:1/2}.cell-year{text-align:right;grid-area:2/3}.about{padding-inline:0;padding-bottom:max(208px,100vh - 672px);display:block}.about-main{display:block}.about-detail{z-index:2;height:228px;padding:68px var(--margin) 0;background:rgb(255 255 255/var(--panel-fill,1));margin-top:0;position:sticky;top:0}.about-detail:after{content:"";background:linear-gradient(var(--bg), #fff0);height:24px;opacity:var(--panel-fill,1);pointer-events:none;position:absolute;top:100%;left:0;right:0}.detail-body{-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.about-intro{padding:0 var(--margin);margin-top:64px;display:block}.intro-statement{text-wrap:pretty;max-width:none}.intro-body{max-width:none}.intro-note{margin-top:24px;padding-top:0}.about-lists{padding:20px var(--margin) 0}.about-cv{margin-top:64px}.about-item-main{text-underline-offset:5px}.about-cv .about-item{height:80px;display:block}.about-cv .about-item-main{width:auto;display:inline-block}.role-meta{padding-top:4px}}@media (width<=519px){.footer-desktop{display:none}.site-footer{grid-template-columns:minmax(0,1fr);row-gap:4px;display:grid}.footer-mobile{display:contents}.footer-mobile>*{grid-column:1}.footer-mobile>:first-child{grid-row:1;justify-self:start}.footer-mobile>:nth-child(2){grid-row:2;justify-self:start}.footer-mobile.footer-right>:first-child{grid-row:3;justify-self:end}.footer-mobile.footer-right>:nth-child(2){grid-row:4;justify-self:end}}html[data-locked]{overflow:hidden}html[data-locked] body>:not(.gate){visibility:hidden}.gate{display:none}html[data-locked] .gate{z-index:100;padding:0 max(var(--margin), calc((100% - 626px) / 2)) 48px;background:var(--bg);flex-direction:column;justify-content:center;gap:24px;display:flex;position:fixed;inset:0}.gate-field{border-bottom:1px solid var(--ink);align-items:center;gap:16px;padding-bottom:16px;display:flex}.gate-input{min-width:0;color:var(--ink);font:inherit;font-size:var(--text-xl);line-height:var(--text-xl-lh);letter-spacing:var(--text-xl-tracking);background:0 0;border:0;outline:none;flex:1;padding:0}.gate-input::placeholder{color:var(--ink-muted-large);opacity:1}.gate-submit{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0}.gate-field:focus-within{border-bottom-width:2px;padding-bottom:15px}.gate-help{color:var(--ink-muted);font-size:var(--text-label);line-height:var(--text-label-lh);margin:0}.gate.is-wrong .gate-help{color:var(--ink)}
