:root{--bg: #121212;--surface: #191919;--surface-2: #232323;--surface-hover: #1b1b1b;--border: transparent;--backdrop: rgba(0, 0, 0, .65);--text: #e5e5e5;--text-body: #e5e5e5cc;--text-muted: #7a7a7a;--text-dim: #6e6e6e;--link: #6ea8fe;color-scheme:dark;--radius: 24px;--radius-sm: 16px;--radius-xs: 12px;--gap: 16px;--pad: 24px;--card-w: 448px;--avatar: 52px;--cover-video-h: 500px;--cover-video-crop: 100px}html[data-theme=light]{--bg: #ffffff;--surface: #f5f5f5;--surface-2: #e8e8e8;--surface-hover: #efefef;--text: #333333;--text-body: #333333;--text-muted: #7a7a7a;--text-dim: #ababab;--link: #2563eb;color-scheme:light}html[data-theme=light] .contact-modal__item:hover,html[data-theme=light] .contact-modal__item:focus-visible{filter:brightness(1.4)}*{box-sizing:border-box}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}.app-scrollbar{position:fixed;right:2px;width:4px;border-radius:4px;background:var(--text-dim);z-index:10000;opacity:0;transition:opacity .35s ease;pointer-events:none}.app-scrollbar.is-visible{opacity:1}html,body,#root{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.52;min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}.profile-card__prose p,.case-card__preview,.case-card__brief-text,.case-block__caption{text-wrap:pretty}.layout{display:flex;flex-direction:column;gap:80px;padding:48px 16px 16px;margin:0 auto;max-width:calc(var(--card-w) + 48px + 32px)}@media (min-width: 1024px){.layout{gap:48px;max-width:752px;padding:48px 24px 24px}}.profile-card{background:transparent;border:0;border-radius:var(--radius);padding:var(--pad);display:flex;flex-direction:column;gap:32px;width:100%;max-width:calc(var(--card-w) + 48px);margin:0 auto}@media (min-width: 1024px){.profile-card{padding:16px;max-width:none;margin:0}}@media (max-width: 1023px){.profile-card{padding:0}}.profile-card__top{display:flex;justify-content:space-between;align-items:flex-start}.profile-card__who{display:flex;align-items:center;gap:16px;min-width:0}.profile-card__avatar{width:var(--avatar);height:var(--avatar);border-radius:50%;object-fit:cover;display:block}html[data-theme=light] .profile-card__avatar--dark{display:none}html:not([data-theme=light]) .profile-card__avatar--light{display:none}.profile-card__theme{width:40px;height:40px;border-radius:var(--radius-xs);background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .08s ease,filter .15s ease}.profile-card__theme:hover{filter:brightness(.88)}.profile-card__theme:active{transform:scale(.96)}.profile-card__id{display:flex;flex-direction:column;gap:2px}.profile-card__name{font-size:16px;font-weight:500;color:var(--text)}.profile-card__role{font-size:16px;font-weight:500;color:var(--text-muted)}.profile-card__prose{display:flex;flex-direction:column;gap:16px}.profile-card__prose p{font-size:16px;color:var(--text-body);margin:0}.profile-card__prose em{font-style:italic}.ilink{color:var(--text);font-weight:500;white-space:nowrap;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:filter .15s ease}.ilink:hover{filter:brightness(.85)}.ilink-icon{width:16px;height:16px;display:inline-block;vertical-align:-3px;margin-right:4px}.ilink-label{display:inline-block;animation:ilink-label-in .22s cubic-bezier(.2,0,0,1)}@keyframes ilink-label-in{0%{opacity:0;transform:translateY(3px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}.ilink-copy{position:relative;display:inline-block;width:16px;height:16px;vertical-align:-3px;margin-right:4px}.ilink-copy-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;transition:opacity .3s cubic-bezier(.2,0,0,1),transform .3s cubic-bezier(.2,0,0,1),filter .3s cubic-bezier(.2,0,0,1)}.ilink-copy-layer svg{width:100%;height:100%}.ilink-copy-layer--mail{opacity:1;transform:scale(1);filter:blur(0)}.ilink-copy.is-copied .ilink-copy-layer--mail,.ilink-copy-layer--check{opacity:0;transform:scale(.25);filter:blur(4px)}.ilink-copy.is-copied .ilink-copy-layer--check{opacity:1;transform:scale(1);filter:blur(0)}.ilink--btn{background:none;border:0;padding:0;margin:0;font:inherit;font-weight:500;cursor:pointer}.profile-card__section{display:flex;flex-direction:column;gap:12px;margin-top:16px}@media (max-width: 1023px){.profile-card__section{margin-top:32px}}.profile-card__heading{font-size:16px;font-weight:500;color:var(--text);margin:0}.profile-card__projects{list-style:none;margin:0 -8px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px}@media (max-width: 599px){.profile-card__projects{grid-template-columns:1fr}}.profile-card__project{display:flex;align-items:center;gap:12px;padding:8px;color:inherit;border-radius:20px;transition:background .15s ease,transform .06s ease}.profile-card__project:hover{background:var(--surface-hover)}.profile-card__project:active{transform:scale(.985)}.profile-card__project-icon{width:48px;height:48px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;overflow:hidden;transition:filter .15s ease}.profile-card__project-icon img{width:100%;height:100%;object-fit:cover;display:block}.profile-card__project-col{display:flex;flex-direction:column;min-width:0;gap:2px}.profile-card__project-title{font-size:16px;font-weight:500;color:var(--text)}.profile-card__project-sub{font-size:14px;color:var(--text-muted)}.case-sidebar{position:fixed;top:24px;left:24px;display:flex;flex-direction:column;width:max-content;z-index:50}.case-sidebar.is-hidden{visibility:hidden}.case-sidebar__list{position:relative;display:flex;flex-direction:column;gap:14px}.case-sidebar__rail{position:absolute;left:0;width:16px;pointer-events:none;background:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--text) 30%,transparent) 0 1px,transparent 1px 16px) 0 0 / 16px 100% no-repeat,repeating-linear-gradient(to bottom,color-mix(in srgb,var(--text) 30%,transparent) 0 1px,transparent 1px 16px) 0 8px / 13px 100% no-repeat}.case-sidebar__label{font-size:14px;font-weight:500;color:color-mix(in srgb,var(--text) 40%,transparent);padding:14px 0;margin-top:8px}.case-sidebar__item{position:relative}.case-sidebar__tick--mid{position:absolute;left:0;top:calc(50% - 4.5px);height:9px;background:var(--bg);display:flex;align-items:center;overflow:hidden;pointer-events:none}.case-sidebar__tick--mid:after{content:"";width:100%;height:1px;background:color-mix(in srgb,var(--text) 50%,transparent)}.case-sidebar__bar{position:absolute;left:0;top:calc(50% - 4.5px);width:27px;height:9px;background:var(--bg);display:flex;align-items:center;z-index:1;pointer-events:none}.case-sidebar__bar:after{content:"";margin-left:4px;width:23px;height:1.8px;border-radius:999px;background:var(--text)}.case-sidebar__row{opacity:.55;transition:opacity .15s ease}.case-sidebar__row:hover,.case-sidebar__row.is-active{opacity:1}.case-sidebar__link{position:relative;display:block;width:calc(100% - 8px);margin-left:8px;padding:6px 0 6px 16px;background:none;border:0;font:inherit;font-size:14px;line-height:20px;color:var(--text);text-align:left;cursor:pointer;white-space:nowrap}.cases-feed{display:flex;flex-direction:column;gap:var(--gap)}@media (max-width: 1023px){.cases-feed{gap:80px}}@media (min-width: 1024px){.cases-feed{gap:64px}}.case-card{position:relative;background:transparent;border:0;border-radius:28px;padding:16px;display:flex;flex-direction:column;gap:20px;overflow:hidden;width:100%;max-width:calc(var(--card-w) + 48px);margin:0 auto;cursor:pointer;transition:background .15s ease,transform .06s ease}.case-card:hover{background:var(--surface-hover)}.case-card:active{transform:scale(.985)}@media (min-width: 1024px){.case-card{max-width:none;margin:0}}@media (max-width: 1023px){.case-card,.case-card:hover{background:transparent;padding:0;border-radius:0}}.case-card__body{display:flex;flex-direction:column;gap:32px;min-width:0}.case-card__title{font-size:24px;line-height:1.15;margin:0;font-weight:600;text-wrap:balance}.case-card__preview{font-size:16px;line-height:1.52;color:var(--text-body);margin:0}.case-card__brief{margin:0;display:flex;flex-direction:column;gap:24px}.case-card__brief-item{display:flex;flex-direction:column;gap:8px}.case-card__brief-label{font-size:16px;font-weight:500;color:var(--text)}.case-card__brief-text{margin:0;font-size:16px;line-height:1.52;color:var(--text-body)}.case-card__brief-text strong{font-weight:600}.case-card__media{background:var(--surface-2);border-radius:var(--radius-xs);overflow:hidden;aspect-ratio:16 / 10;order:-1}.case-card__media img{width:100%;height:100%;object-fit:cover;display:block}.case-card__media video{width:100%;height:100%;object-fit:contain;display:block}.case-card__media--video{aspect-ratio:auto;height:var(--cover-video-h)}.case-card__media--video video{height:calc(100% + var(--cover-video-crop) * 2);width:auto;margin:calc(var(--cover-video-crop) * -1) auto 0}@media (max-width: 1023px){.case-card__media--video{height:auto;aspect-ratio:3 / 4}.case-card__media--video video{width:100%;height:100%;object-fit:cover;margin:0}}.case-page{max-width:720px;margin:0 auto;padding:24px 16px 96px;display:flex;flex-direction:column;gap:28px}.case-page__back{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);align-self:flex-start;transition:filter .15s ease}.case-page__back:hover,.case-page__back:focus{filter:brightness(.85)}.case-page__header{display:flex;flex-direction:column;gap:12px}.case-page__title{margin:0;font-size:24px;line-height:1.15;font-weight:600;text-wrap:balance}.case-page__meta{font-size:14px;color:var(--text-muted)}.case-page__content{display:flex;flex-direction:column;gap:24px}.case-block{display:flex;flex-direction:column;gap:20px;scroll-margin-top:32px}.case-block__heading{margin:16px 0 0;font-size:16px;font-weight:500;line-height:1.15;text-wrap:balance}.case-block__text{margin:0;display:flex;flex-direction:column;gap:16px}.case-block__text p{margin:0;font-size:16px;line-height:1.52;color:var(--text-body);white-space:pre-line}.case-block__figure{margin:0;display:flex;flex-direction:column;gap:8px}.case-block__image{display:block;width:100%;padding:0;border:0;background:var(--surface-2);border-radius:var(--radius);overflow:hidden;cursor:pointer;max-height:600px}.case-block__image img{display:block;width:100%;height:auto;max-height:600px;object-fit:cover;object-position:center}.case-block__caption{margin:0;font-size:14px;color:var(--text-muted);line-height:1.52;text-align:center}.case-block__links{display:flex;flex-direction:column;gap:8px;font-size:16px}.case-block__links a{color:var(--text);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;word-break:break-all;transition:filter .15s ease}.case-block__links a:hover{filter:brightness(.85)}.case-nav{display:flex;justify-content:space-between;gap:16px;margin-top:24px}.case-nav__link{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);transition:filter .15s ease}.case-nav__link:hover{filter:brightness(.85)}.case-nav__arrow{line-height:1;flex-shrink:0}.case-nav__link.is-disabled{color:var(--text-dim);opacity:.5;cursor:default;pointer-events:none}@media (min-width: 768px){.case-page{padding:40px 24px 120px}}.morph-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;cursor:pointer}.morph-overlay__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--backdrop)}.morph-overlay__img{position:fixed;z-index:1;object-fit:cover;cursor:pointer}.morph-overlay__close{position:fixed;top:24px;right:24px;z-index:2;width:32px;height:32px;border-radius:50%;background:#fff;border:0;color:#555;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .08s ease,filter .15s ease}.morph-overlay__close:hover{filter:brightness(.88)}.morph-overlay__close:active{transform:scale(.96)}.morph-overlay__close:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px}.contact-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);display:flex;align-items:center;justify-content:center;padding:16px;z-index:9999}.contact-modal__card{width:100%;max-width:356px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:grid;gap:8px;color:var(--text)}.contact-modal__head{display:flex;align-items:center;justify-content:space-between}.contact-modal__title{margin:0;padding-left:8px;font-size:16px;font-weight:600}.contact-modal__close{position:relative;width:32px;height:32px;border-radius:50%;flex-shrink:0;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .08s ease,filter .15s ease}.contact-modal__close:hover{filter:brightness(.88)}.contact-modal__close:active{transform:scale(.96)}.contact-modal__close:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px}.contact-modal__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.contact-modal__item{position:relative;width:100%;display:flex;align-items:center;gap:12px;padding:8px;border:0;background:transparent;border-radius:var(--radius-xs);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform .08s ease,filter .15s ease}.contact-modal__item:hover,.contact-modal__item:focus-visible{filter:brightness(.7)}.contact-modal__icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.contact-modal__col{flex:1;display:flex;flex-direction:column;min-width:0;gap:4px}.contact-modal__label{font-size:14px;color:var(--text-muted)}.contact-modal__value{font-size:16px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-modal__copy{position:relative;flex-shrink:0;width:20px;height:20px;color:var(--text-muted)}.contact-modal__copy-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;transition:opacity .3s cubic-bezier(.2,0,0,1),transform .3s cubic-bezier(.2,0,0,1),filter .3s cubic-bezier(.2,0,0,1)}.contact-modal__copy-layer--copy{opacity:1;transform:scale(1);filter:blur(0)}.contact-modal__copy.is-copied .contact-modal__copy-layer--copy,.contact-modal__copy-layer--check{opacity:0;transform:scale(.25);filter:blur(4px)}.contact-modal__copy.is-copied .contact-modal__copy-layer--check{opacity:1;transform:scale(1);filter:blur(0)}.site-footer{display:flex;justify-content:flex-end;align-items:center;gap:24px;padding:32px 0 16px}@media (min-width: 1024px){.site-footer{grid-column:1 / -1}}.landing-view{background:var(--bg);min-height:100vh;padding:24px}.landing-view__img{display:block;width:100%;max-width:1440px;height:auto;margin:0 auto;border-radius:var(--radius)}.landing-mac{background:var(--bg);min-height:100vh}.landing-mac__sheet{display:flex;justify-content:center}.landing-mac__sheet img{display:block;height:auto}.landing-mac__stage{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.landing-mac__device{display:block}.landing-view__back{position:fixed;top:24px;left:24px;z-index:100;width:40px;height:40px;border-radius:50%;border:0;background:#1111118c;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .15s ease-out,background .15s ease}.landing-view__back:hover{background:#111111bf}.landing-view__back:active{transform:scale(.92)}.scroll-top-zone{position:fixed;top:0;bottom:0;width:calc((100vw - 720px)/4);display:none;align-items:center;justify-content:center;background:transparent;border:0;padding:0;margin:0;cursor:pointer;z-index:50;pointer-events:none;transition:background .2s ease}.scroll-top-zone--right{right:0}.scroll-top-zone.is-active{pointer-events:auto}.scroll-top-zone.is-active:hover{background:#ffffff08}html[data-theme=light] .scroll-top-zone.is-active:hover{background:#00000008}.scroll-top-zone__label{font-size:14px;color:var(--text-muted);opacity:0;transition:opacity .2s ease}.scroll-top-zone.is-active:hover .scroll-top-zone__label{opacity:1}@media (min-width: 1024px){.scroll-top-zone{display:flex}}
