:root{--color-bg: #ffffff;--color-text: #141414;--color-text-muted: #666666;--color-text-link: #323232;--color-link-hover: #0066ff;--color-border: #dfdfdf;--color-border-hover: #bdbdbd;--shadow-pill-hover: 0 6px 16px rgba(20, 20, 20, .12), 0 2px 4px rgba(20, 20, 20, .06);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--space-section: 70px;--space-gutter: 14px;--radius-avatar: 50%;--radius-card: 14px;--max-content: 1440px;--max-text: 1040px;--max-case-text: var(--max-text);--space-edge: max(16px, calc((100% - var(--max-text)) / 2))}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font-sans);font-size:16px;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}#root{min-height:100vh}img{max-width:100%;display:block}a{color:inherit;text-decoration:none;transition:color .15s ease}a:hover{text-decoration:none;color:var(--color-link-hover)}.page{width:100%;max-width:var(--max-content);margin:0 auto;background:var(--color-bg)}.hero{display:flex;flex-direction:column;align-items:center;padding:96px 0 0;gap:27px}.hero__avatar-wrap{width:140px;height:140px;border-radius:var(--radius-avatar);overflow:hidden;flex-shrink:0}.hero__avatar{width:100%;height:100%;object-fit:cover;object-position:top center}.hero__text{width:100%;max-width:var(--max-content);margin:0 auto;padding-inline:max(16px,calc((100% - var(--max-text)) / 2));display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.hero__title{margin:0;font-weight:600;font-size:clamp(22px,3.2vw,24px);line-height:1.28;letter-spacing:-.64px;color:var(--color-text);width:100%}.hero__subtitle{margin:0;font-weight:400;font-size:16px;line-height:1.5;letter-spacing:-.2px;color:var(--color-text-muted);width:100%}.contacts{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:22px;padding:18px 24px;width:100%;font-size:16px;line-height:1.5;letter-spacing:-.2px;color:var(--color-text-link)}.projects{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--space-gutter);row-gap:36px;width:100%;max-width:var(--max-content);margin:0 auto;padding:var(--space-section) 0}.project{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.project__meta{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 var(--space-gutter);font-size:16px;line-height:1.5;letter-spacing:-.2px;font-weight:400}.project__year{margin:0;color:var(--color-text-muted)}.project__client{margin:0;color:#000}.project__visual{display:block;width:min(1374px,calc(100% - 2 * var(--space-gutter)));aspect-ratio:1374 / 715;border:1px solid var(--color-border);border-radius:var(--radius-card);overflow:hidden;background:#fafafa;transition:box-shadow .25s ease}.project__link{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;color:inherit;transition:transform .25s ease}.project__link:hover{transform:translateY(-6px)}.project__link:hover .project__visual{box-shadow:0 10px 20px -12px #0000004d}.project__visual img{width:100%;height:100%;object-fit:cover}.project__visual--placeholder{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:linear-gradient(180deg,#fafafa,#f3f3f3);padding:32px clamp(40px,6vw,80px);text-align:center;color:var(--color-text-muted)}.placeholder__emoji{font-size:clamp(96px,13vw,180px);line-height:1;animation:placeholder-float 3.6s ease-in-out infinite}.placeholder__text{font-size:clamp(14px,1.6vw,18px);letter-spacing:-.2px;max-width:420px}@keyframes placeholder-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){.placeholder__emoji{animation:none}}.project__caption{margin:0;width:100%;padding:0 var(--space-gutter);font-size:16px;line-height:1.5;letter-spacing:-.2px;font-weight:400;text-align:center;color:#000}.project__caption a{color:#000}.project__caption a:hover{color:var(--color-link-hover)}.case-page{min-height:100vh}.case-top{display:flex;width:100%;padding:10px 33px 0}.case-top__inner{width:100%;display:flex;justify-content:space-between;align-items:center;font-size:16px;line-height:1.5;letter-spacing:-.2px}.case-top__back{display:inline-flex;align-items:center;gap:6px;color:#000}.case-top__back:hover{color:var(--color-link-hover)}.case-top__arrow{font-size:16px;line-height:1}.case-top__category{margin:0;color:#000}.case-page__main{width:100%}.case-img-wrap.case-page__full{width:100%;max-width:var(--max-content);margin:0 auto}.case-hero{padding:56px var(--space-edge) 32px;display:flex;justify-content:center}.case-hero__inner{width:100%;max-width:var(--max-case-text);display:flex;flex-direction:column;gap:20px}.case-hero__title{margin:0;font-weight:600;font-size:24px;line-height:1.3;letter-spacing:-.6px;color:var(--color-text);text-align:left}.case-hero__links{display:flex;flex-wrap:wrap;gap:10px}.pill-link{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--color-border);border-radius:999px;font-size:14px;line-height:1.2;letter-spacing:-.1px;color:var(--color-text);background:var(--color-bg);white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;will-change:transform}.pill-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-pill-hover);border-color:var(--color-border-hover);color:var(--color-text)}.pill-link:active{transform:translateY(0);box-shadow:0 2px 6px #14141414}.pill-link__icon{width:18px;height:18px;display:block;flex-shrink:0}.pill-link__arrow{font-size:14px;line-height:1}.case-hero-figure{margin:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 var(--space-edge) 40px}.case-hero-figure>.case-img-wrap{width:100%;max-width:var(--max-case-text)}.case-hero-figure__captions{width:100%;max-width:var(--max-case-text);display:flex;font-size:14px;line-height:1.5;letter-spacing:-.1px;color:var(--color-text-muted)}.case-hero-figure__captions>span{flex:1;text-align:center}.case-body{width:100%;display:flex;flex-direction:column;gap:48px;padding:0 var(--space-edge) 56px}.case-body__section{width:100%;max-width:var(--max-case-text);margin:0 auto;display:flex;flex-direction:column;gap:16px}.case-body__heading{margin:0;font-weight:600;font-size:24px;line-height:1.3;letter-spacing:-.6px;color:var(--color-text)}.case-body__content{display:flex;flex-direction:column;gap:12px;font-size:16px;line-height:1.5;letter-spacing:-.2px;color:#000;text-wrap:pretty}.case-body__paragraph{margin:0}.case-body__paragraph strong{font-weight:600}.case-body__list{margin:0;padding-left:1.25em;display:flex;flex-direction:column;gap:8px}.case-body__list li{padding-left:4px}.case-body__figure{margin:16px 0 8px;display:flex;flex-direction:column;gap:12px}.case-body__figure-media{width:100%}.case-body__figure-caption{margin:0;text-align:center;font-size:14px;line-height:1.5;letter-spacing:-.1px;color:var(--color-text-muted)}.case-figures{display:flex;flex-direction:column;gap:56px;padding:24px var(--space-edge) 32px;align-items:center}.case-figure{margin:0;width:100%;max-width:var(--max-case-text);display:flex;flex-direction:column;align-items:center;gap:16px}.case-figure__media{width:100%}.case-figure__caption{width:100%;max-width:var(--max-case-text);margin:0;text-align:center;font-size:14px;line-height:1.5;letter-spacing:-.1px;color:var(--color-text-muted)}.case-footer__inner{justify-content:center}.about{padding:0 0 var(--space-section);width:100%}.about__inner{width:100%;max-width:var(--max-content);margin:0 auto;padding-inline:max(16px,calc((100% - var(--max-text)) / 2));display:flex;flex-direction:column;align-items:center;gap:27px}.about__title{margin:0;font-weight:600;font-size:clamp(18px,3.2vw,24px);line-height:1.28;letter-spacing:-.64px;text-align:center;color:var(--color-text)}.about__body{width:100%;max-width:var(--max-text);display:flex;flex-direction:column;gap:10px;font-size:16px;line-height:1.5;letter-spacing:-.1px;font-weight:400;color:#000;text-align:left;text-wrap:pretty}.about__body p{margin:0}.footer{display:flex;width:100%;padding:0 33px 10px}.footer__inner{width:100%;display:flex;align-items:center}.footer.case-footer{padding-top:32px;padding-bottom:56px;margin-top:24px}.case-img-wrap{position:relative;display:block;width:100%;line-height:0}.case-img-wrap--rounded{border-radius:var(--radius-card);overflow:hidden;background-color:#f5f6f8;isolation:isolate}.case-img-wrap img{display:block;width:100%;max-width:100%;height:auto}.case-img-wrap--rounded img{border-radius:var(--radius-card)}.case-img-wrap.is-loading img{visibility:hidden}.case-img-wrap__loader{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f0f1f3;border-radius:var(--radius-card)}.case-img-wrap__spinner{display:block;width:32px;height:32px;border-radius:50%;border:3px solid rgba(0,0,0,.12);border-top-color:#00000073;animation:case-img-spin .9s linear infinite}@keyframes case-img-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.case-img-wrap__spinner{animation:none}}@media(max-width:1024px){.case-hero{padding:48px var(--space-edge) 28px}.case-body{gap:40px;padding:0 var(--space-edge) 48px}.case-figures{gap:48px}}@media(max-width:768px){.case-hero{padding:40px var(--space-edge) 24px}.case-body{gap:36px;padding:0 var(--space-edge) 40px}.case-figures{gap:40px;padding:16px var(--space-edge) 24px}}@media(max-width:640px){:root{--space-gutter: 16px;--space-section: 40px}.hero{padding-top:64px}.projects{grid-template-columns:1fr}.hero__subtitle{font-size:13px}.hero__title-line{display:block}.project__meta{font-size:12px;line-height:1.5}.project__caption{font-size:12px}.contacts{gap:12px 16px;font-size:12px}.case-hero__inner{gap:16px}.pill-link{padding:8px 14px;font-size:13px}.case-hero{padding:28px var(--space-edge) 20px}.case-hero__title{font-size:18px;letter-spacing:-.4px}.case-body{gap:28px;padding:0 var(--space-edge) 32px}.case-body__heading{font-size:20px;letter-spacing:-.4px}.case-body__content{font-size:14px;line-height:1.5}.about__body{font-size:14px}.case-body__list{gap:6px;padding-left:1.1em}.case-body__figure-caption{font-size:12px;line-height:1.45}.case-figures{gap:28px;padding:12px var(--space-edge) 16px}.case-figure{gap:10px}.case-figure__caption,.case-hero-figure__captions{font-size:12px;line-height:1.45}.footer.case-footer{padding-top:24px;padding-bottom:40px}}
