:root{--bg: #121212;--surface: #191919;--surface-2: #232323;--surface-hover: #1b1b1b;--border: transparent;--backdrop: rgba(0, 0, 0, .65);--text: #f5f5f5;--text-muted: #9a9a9a;--text-dim: #6e6e6e;--accent: #ffffff;--accent-text: #0a0a0a;--link: #6ea8fe;color-scheme:dark;--radius: 24px;--radius-sm: 16px;--radius-xs: 12px;--gap: 16px;--pad: 24px;--card-w: 448px;--avatar: 128px;--btn-h: 48px;--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-muted: #7a7a7a;--text-dim: #ababab;--accent: #333333;--accent-text: #fafafa;--link: #2563eb;color-scheme:light}html[data-theme=light] .profile-card__contact:hover{filter:brightness(1.15)}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.45;min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}.profile-card__bio,.profile-card__text,.case-card__preview,.case-card__brief-text,.case-block__caption{text-wrap:pretty}.layout{display:flex;flex-direction:column;gap:56px;padding:16px;margin:0 auto;max-width:calc(var(--card-w) + 48px + 32px)}@media (min-width: 1024px){.layout{display:grid;grid-template-columns:var(--card-w) 1fr;gap:24px;max-width:1240px;padding:24px;align-items:start}}.profile-card{background:transparent;border:0;border-radius:var(--radius);padding:var(--pad);display:flex;flex-direction:column;gap:28px;width:100%;max-width:calc(var(--card-w) + 48px);margin:0 auto}@media (min-width: 1024px){.profile-card{position:sticky;top:24px;padding:var(--pad);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__avatar{width:var(--avatar);height:var(--avatar);border-radius:50%;object-fit:cover;display:block}.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)}@media (min-width: 1024px){.profile-card__theme{margin-top:calc(var(--pad) * -1)}}.profile-card__name{font-size:14px;color:var(--text-muted);letter-spacing:.01em}.profile-card__bio{font-size:16px;line-height:1.4;margin:0;color:var(--text)}.profile-card__section{display:flex;flex-direction:column;gap:8px}.profile-card__heading{font-size:14px;font-weight:500;color:var(--text-muted);margin:0;letter-spacing:.02em}.profile-card__text{font-size:16px;line-height:1.45;color:var(--text);margin:0}.profile-card__projects{list-style:none;margin:0 -8px;padding:0;display:flex;flex-direction:column;gap:4px}.profile-card__project{display:flex;align-items:center;gap:12px;padding:8px;color:inherit;transition:transform .08s ease,filter .15s ease}.profile-card__project:hover{filter:brightness(.88)}.profile-card__project:active{transform:scale(.98)}.profile-card__project-icon{width:40px;height:40px;border-radius:var(--radius-xs);background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:20px;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;color:var(--text);transition:color .15s ease}.profile-card__project-sub{font-size:14px;color:var(--text-muted);transition:color .15s ease}.profile-card__contact{position:relative;display:flex;align-items:center;justify-content:center;height:var(--btn-h);margin-top:4px;padding:0;border:0;background:var(--accent);color:var(--accent-text);border-radius:var(--radius-sm);font-size:16px;font-weight:500;cursor:pointer;transition:transform .15s ease-out,filter .15s ease}.profile-card__contact:hover{filter:brightness(.88)}.profile-card__contact:active{transform:scale(.96)}.cases-feed{display:flex;flex-direction:column;gap:var(--gap)}@media (max-width: 1023px){.cases-feed{gap:48px}}@media (min-width: 1024px){.cases-feed{gap:24px}}.case-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--pad);display:flex;flex-direction:column;gap:16px;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{padding:var(--pad);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:12px;min-width:0}.case-card__title{font-size:22px;line-height:1.15;margin:0;font-weight:600;text-wrap:balance}@media (min-width: 1024px){.case-card__title{font-size:28px}}.case-card__preview{font-size:16px;line-height:1.45;color:var(--text);margin:0}.case-card__brief{margin:4px 0 0;display:flex;flex-direction:column;gap:20px}.case-card__brief-item{display:flex;flex-direction:column;gap:4px}.case-card__brief-label{font-size:14px;font-weight:500;color:var(--text-muted);letter-spacing:.02em}.case-card__brief-text{margin:0;font-size:16px;line-height:1.45;color:var(--text)}.case-card__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));grid-template-rows:auto auto;gap:8px;margin-top:12px}.case-card__metric{background:var(--surface-2);border-radius:var(--radius-sm);transition:background .15s ease;padding:20px 16px;display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:4px;justify-items:center;text-align:center}.case-card__metric-label{font-size:14px;color:var(--text-muted);line-height:1.3;align-self:center}.case-card__metric-value{font-size:20px;font-weight:600;color:var(--text)}@media (min-width: 1024px){.case-card__metric-value{font-size:22px}}.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-muted);align-self:flex-start}.case-page__back:hover,.case-page__back:focus{color:var(--text)}.case-page__header{display:flex;flex-direction:column;gap:12px}.case-page__title{margin:0;font-size:30px;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:16px}.case-block__heading{margin:16px 0 0;font-size:22px;font-weight:600;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.6;color:var(--text);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.4}.case-block__links{display:flex;flex-direction:column;gap:8px;font-size:16px}.case-block__links a{color:var(--link);word-break:break-all}.case-block__links a:hover{text-decoration:underline}.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-muted)}.case-nav__link:hover{color:var(--text)}.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}.case-page__title{font-size:38px}}.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__item:active{transform:scale(.98)}.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:56px 0 16px}@media (min-width: 1024px){.site-footer{grid-column:1 / -1}}.site-footer__link{border:0;background:none;padding:0;font:inherit;font-size:16px;color:var(--text-muted);cursor:pointer;text-decoration:none;transition:color .15s ease}.site-footer__link:hover,.site-footer__link:focus-visible{color:var(--text);text-decoration:none}.landing-view{background:#fff;min-height:100vh}.landing-view__img{display:block;width:100%;max-width:1920px;height:auto;margin:0 auto}.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}}
