.hero[data-astro-cid-ge2uvauf]{position:relative}.stage[data-astro-cid-ge2uvauf]{align-items:center;min-height:100svh;padding-block:72px 48px;display:flex}.stage[data-astro-cid-ge2uvauf]>.wrap[data-astro-cid-ge2uvauf]{flex-wrap:wrap;align-items:center;gap:48px 64px;width:100%;display:flex}.hero-copy[data-astro-cid-ge2uvauf]{flex-direction:column;flex:520px;gap:30px;min-width:0;display:flex}.h1[data-astro-cid-ge2uvauf]{font-size:var(--text-h1);letter-spacing:-.045em;font-variation-settings:"opsz" 96;font-weight:700;line-height:.96}.nw[data-astro-cid-ge2uvauf]{white-space:nowrap}.rot-wrap[data-astro-cid-ge2uvauf]{vertical-align:top;grid-template-columns:max-content;display:inline-grid}.rot-wrap[data-astro-cid-ge2uvauf]>span[data-astro-cid-ge2uvauf]{white-space:nowrap;grid-area:1/1}.rot[data-astro-cid-ge2uvauf]{color:var(--accent)}.rot-ghost[data-astro-cid-ge2uvauf]{visibility:hidden}.rot-br[data-astro-cid-ge2uvauf]{display:none}.lede[data-astro-cid-ge2uvauf]{max-width:560px;font-size:var(--text-lead);color:var(--ink-2);line-height:1.55}.cta-row[data-astro-cid-ge2uvauf]{flex-wrap:wrap;gap:12px;display:flex}.meta[data-astro-cid-ge2uvauf]{font-family:var(--font-mono);font-size:var(--text-small);color:var(--ink-3);flex-wrap:wrap;gap:12px 28px;display:flex}.meta[data-astro-cid-ge2uvauf] b[data-astro-cid-ge2uvauf]{color:var(--ink);font-weight:500}.device[data-astro-cid-ge2uvauf]{flex-direction:column;flex:380px;align-items:center;gap:22px;min-width:0;display:flex}.phone[data-astro-cid-ge2uvauf]{aspect-ratio:9/19;border:1px solid var(--line-2);background:var(--phone);width:min(320px,80vw);box-shadow:0 60px 120px -50px color-mix(in srgb, var(--bg) 90%, transparent), inset 0 0 0 6px var(--bg);will-change:transform;border-radius:44px;padding:14px;position:relative}.phone[data-astro-cid-ge2uvauf]:before{content:"";z-index:3;border-radius:var(--radius-pill);background:var(--bg);width:34%;height:22px;position:absolute;top:16px;left:50%;transform:translate(-50%)}.screen[data-astro-cid-ge2uvauf]{background:var(--bg-3);border-radius:32px;width:100%;height:100%;position:relative;overflow:hidden}.screen[data-astro-cid-ge2uvauf] img[data-astro-cid-ge2uvauf]{object-fit:cover;object-position:center top;width:100%;height:100%;position:absolute;inset:0}.screen[data-astro-cid-ge2uvauf] img[data-astro-cid-ge2uvauf]+img[data-astro-cid-ge2uvauf]{opacity:0}.caps[data-astro-cid-ge2uvauf]{font-family:var(--font-mono);font-size:var(--text-tag);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);gap:10px;display:flex}.cap[data-astro-cid-ge2uvauf]{border:1px solid var(--line);border-radius:var(--radius-pill);padding:6px 10px;transition:color .3s,border-color .3s,background-color .3s}.cap[data-astro-cid-ge2uvauf].on{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.scroll-hint[data-astro-cid-ge2uvauf]{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:10px;font-size:11px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.scroll-hint[data-astro-cid-ge2uvauf] i[data-astro-cid-ge2uvauf]{background:linear-gradient(var(--accent), transparent);width:1px;height:36px;display:block}@media (width<=760px){.nw[data-astro-cid-ge2uvauf]{white-space:normal}.rot-br[data-astro-cid-ge2uvauf]{display:inline}}@media (prefers-reduced-motion:reduce){.cap[data-astro-cid-ge2uvauf]{transition:none}.screen[data-astro-cid-ge2uvauf] img[data-astro-cid-ge2uvauf]+img[data-astro-cid-ge2uvauf]{display:none}}.numbers[data-astro-cid-5n4pfysv]{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2)}.grid[data-astro-cid-5n4pfysv]{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.num[data-astro-cid-5n4pfysv]{border-right:1px solid var(--line);flex-direction:column;gap:6px;padding:28px 24px 28px 0;display:flex}.num[data-astro-cid-5n4pfysv]:last-child{border-right:0}.num[data-astro-cid-5n4pfysv] b[data-astro-cid-5n4pfysv]{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(34px,4vw,56px);font-weight:700;line-height:1}.num[data-astro-cid-5n4pfysv] span[data-astro-cid-5n4pfysv]{font-family:var(--font-mono);font-size:var(--text-tag);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}@media (width<=720px){.num[data-astro-cid-5n4pfysv]{border-right:0;border-bottom:1px solid var(--line);padding:20px 0}.num[data-astro-cid-5n4pfysv]:last-child{border-bottom:0}}.work[data-astro-cid-pgp6av4c]{position:relative;overflow:hidden}.head[data-astro-cid-pgp6av4c]{padding-block:var(--section-pad) 32px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px;display:flex}.head[data-astro-cid-pgp6av4c] h2[data-astro-cid-pgp6av4c]{max-width:14ch;font-size:var(--text-h2);line-height:1}.head[data-astro-cid-pgp6av4c] .tag[data-astro-cid-pgp6av4c]{margin-bottom:12px;display:block}.intro[data-astro-cid-pgp6av4c]{max-width:48ch;color:var(--ink-2);margin-top:12px}.counter[data-astro-cid-pgp6av4c]{font-family:var(--font-mono);color:var(--ink-3);align-items:center;gap:14px;font-size:14px;display:flex}.counter[data-astro-cid-pgp6av4c] b[data-astro-cid-pgp6av4c]{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:500}.bar[data-astro-cid-pgp6av4c]{background:var(--line);width:120px;height:2px;position:relative}.bar[data-astro-cid-pgp6av4c] i[data-astro-cid-pgp6av4c]{background:var(--accent);transform-origin:0;position:absolute;inset:0;transform:scaleX(.25)}.gallery[data-astro-cid-pgp6av4c]{width:max-content;padding:0 var(--gutter) 72px;will-change:transform;gap:28px;display:flex}.proj[data-astro-cid-pgp6av4c]{flex-direction:column;flex-shrink:0;gap:18px;width:min(72vw,760px);display:flex}.frame[data-astro-cid-pgp6av4c]{aspect-ratio:16/10;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--bg-3);display:block;position:relative;overflow:hidden}.frame[data-astro-cid-pgp6av4c]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.frame[data-astro-cid-pgp6av4c] img[data-astro-cid-pgp6av4c]{object-fit:cover;will-change:transform;width:112%;height:100%;position:absolute;inset:0 0 0 -6%}.idx[data-astro-cid-pgp6av4c]{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--bg) 50%, transparent);backdrop-filter:blur(6px);font-family:var(--font-mono);font-size:var(--text-tag);color:var(--ink);padding:6px 10px;position:absolute;top:16px;left:18px}.meta[data-astro-cid-pgp6av4c]{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.proj[data-astro-cid-pgp6av4c] h3[data-astro-cid-pgp6av4c]{letter-spacing:-.03em;font-size:clamp(22px,2.4vw,32px)}.result[data-astro-cid-pgp6av4c]{font-family:var(--font-mono);font-size:var(--text-small);color:var(--accent)}.proj[data-astro-cid-pgp6av4c] p[data-astro-cid-pgp6av4c]{max-width:60ch;color:var(--ink-2)}@media (width<=899px){.work[data-astro-cid-pgp6av4c]{overflow:visible}.gallery[data-astro-cid-pgp6av4c]{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;width:auto;padding-bottom:56px;overflow-x:auto}.proj[data-astro-cid-pgp6av4c]{scroll-snap-align:start;width:min(84vw,520px)}}.do[data-astro-cid-x7qm2q4q]{border-top:1px solid var(--line)}.inner[data-astro-cid-x7qm2q4q]{padding-block:var(--section-pad);flex-direction:column;gap:40px;display:flex;position:relative}.intro[data-astro-cid-x7qm2q4q]{flex-direction:column;gap:12px;max-width:620px;display:flex}.intro[data-astro-cid-x7qm2q4q] h2[data-astro-cid-x7qm2q4q]{font-size:var(--text-h2);line-height:1}.lede[data-astro-cid-x7qm2q4q]{color:var(--ink-2)}.rows[data-astro-cid-x7qm2q4q]{border-top:1px solid var(--line);flex-direction:column;display:flex}.row[data-astro-cid-x7qm2q4q]{border-bottom:1px solid var(--line);color:inherit;transition:padding .4s var(--ease-out);grid-template-columns:72px 1fr auto;align-items:center;gap:16px 24px;padding:26px 0;text-decoration:none;display:grid;position:relative}.row[data-astro-cid-x7qm2q4q]:hover{padding-left:12px}.k[data-astro-cid-x7qm2q4q]{font-family:var(--font-mono);font-size:var(--text-small);color:var(--ink-3)}.row[data-astro-cid-x7qm2q4q] h3[data-astro-cid-x7qm2q4q]{letter-spacing:-.03em;grid-column:2;font-size:clamp(24px,3vw,44px);line-height:1.05}.get[data-astro-cid-x7qm2q4q]{max-width:62ch;color:var(--ink-2);grid-column:2;font-size:16px}.arrow[data-astro-cid-x7qm2q4q]{border:1px solid var(--line-2);width:44px;height:44px;color:var(--ink);transition:background-color .3s, color .3s, transform .4s var(--ease-out);border-radius:50%;grid-area:1/3/span 2;justify-content:center;align-items:center;display:inline-flex}.row[data-astro-cid-x7qm2q4q]:hover .arrow[data-astro-cid-x7qm2q4q],.row[data-astro-cid-x7qm2q4q]:focus-visible .arrow[data-astro-cid-x7qm2q4q]{background:var(--accent);color:var(--accent-ink);transform:rotate(-45deg)}.hover-img[data-astro-cid-x7qm2q4q]{z-index:5;aspect-ratio:16/10;border:1px solid var(--line-2);width:300px;box-shadow:0 30px 60px -20px color-mix(in srgb, var(--bg) 80%, transparent);opacity:0;pointer-events:none;border-radius:14px;position:absolute;top:0;left:0;overflow:hidden}.hover-img[data-astro-cid-x7qm2q4q] img[data-astro-cid-x7qm2q4q]{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}@media (width<=700px){.row[data-astro-cid-x7qm2q4q]{grid-template-columns:48px 1fr auto}.hover-img[data-astro-cid-x7qm2q4q]{display:none}}@media (prefers-reduced-motion:reduce){.row[data-astro-cid-x7qm2q4q],.arrow[data-astro-cid-x7qm2q4q]{transition:none}}.log[data-astro-cid-lyefqaox]{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2)}.inner[data-astro-cid-lyefqaox]{padding-block:var(--section-pad);flex-wrap:wrap;align-items:flex-start;gap:40px 72px;display:flex}.left[data-astro-cid-lyefqaox]{flex-direction:column;flex:320px;gap:14px;min-width:0;display:flex}.left[data-astro-cid-lyefqaox] h2[data-astro-cid-lyefqaox]{font-size:var(--text-h2-small);line-height:1}.lede[data-astro-cid-lyefqaox]{max-width:46ch;color:var(--ink-2)}.releases-wrap[data-astro-cid-lyefqaox]{flex:480px;min-width:0;padding-left:36px;position:relative}.rail[data-astro-cid-lyefqaox]{background:var(--line);width:2px;position:absolute;top:14px;bottom:14px;left:8px}.rail-fill[data-astro-cid-lyefqaox]{background:var(--accent);transform-origin:top;display:block;position:absolute;inset:0;transform:scaleY(0)}html:not(.js) .rail-fill[data-astro-cid-lyefqaox]{transform:none}.releases[data-astro-cid-lyefqaox]{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rel[data-astro-cid-lyefqaox]{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:22px 0 26px;display:flex;position:relative}.rel[data-astro-cid-lyefqaox]:last-child{border-bottom:0}.rel[data-astro-cid-lyefqaox]:before{content:"";border:2px solid var(--line-2);background:var(--bg-2);width:12px;height:12px;transition:background-color .4s, border-color .4s, transform .4s var(--ease-out), box-shadow .4s;border-radius:50%;position:absolute;top:30px;left:-33px}.rel[data-astro-cid-lyefqaox].active:before,html:not(.js) .rel[data-astro-cid-lyefqaox]:before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 18%, transparent);transform:scale(1.3)}.ver[data-astro-cid-lyefqaox]{font-family:var(--font-mono);font-size:var(--text-small);color:var(--accent);align-items:center;gap:12px;display:flex}.ver[data-astro-cid-lyefqaox] em[data-astro-cid-lyefqaox]{color:var(--ink-3);font-style:normal}.rel[data-astro-cid-lyefqaox] h3[data-astro-cid-lyefqaox]{letter-spacing:-.02em;font-size:22px}.rel[data-astro-cid-lyefqaox] p[data-astro-cid-lyefqaox]{color:var(--ink-2)}.rel[data-astro-cid-lyefqaox] ul[data-astro-cid-lyefqaox]{color:var(--ink-2);flex-direction:column;gap:4px;margin:4px 0 0;padding-left:18px;font-size:15px;display:flex}.rel[data-astro-cid-lyefqaox] ul[data-astro-cid-lyefqaox] li[data-astro-cid-lyefqaox]::marker{color:var(--accent)}@media (prefers-reduced-motion:reduce){.rel[data-astro-cid-lyefqaox]:before{transition:none}}.marquee[data-astro-cid-3u7wnc43]{border-bottom:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-2);padding-block:20px;font-size:14px;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee-track[data-astro-cid-3u7wnc43]{will-change:transform;width:max-content;display:flex}html:not(.js) .marquee-track[data-astro-cid-3u7wnc43]{animation:34s linear infinite marquee}.marquee[data-astro-cid-3u7wnc43]:hover .marquee-track[data-astro-cid-3u7wnc43],.marquee[data-astro-cid-3u7wnc43]:focus-within .marquee-track[data-astro-cid-3u7wnc43]{animation-play-state:paused}.items[data-astro-cid-3u7wnc43]{margin:0;padding:0;list-style:none;display:flex}.items[data-astro-cid-3u7wnc43] li[data-astro-cid-3u7wnc43]{white-space:nowrap;align-items:center;gap:26px;padding-right:26px;display:flex}.items[data-astro-cid-3u7wnc43] li[data-astro-cid-3u7wnc43]:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee-track[data-astro-cid-3u7wnc43]{animation:none}}.close[data-astro-cid-2rl6qrpo]{position:relative;overflow:hidden}.inner[data-astro-cid-2rl6qrpo]{flex-direction:column;align-items:flex-start;gap:40px;padding-block:clamp(80px,12vw,160px) clamp(56px,8vw,104px);display:flex}.big[data-astro-cid-2rl6qrpo]{font-size:var(--text-big);letter-spacing:-.05em;flex-wrap:wrap;gap:0 .22em;font-weight:700;line-height:.9;display:flex}.big[data-astro-cid-2rl6qrpo] .ch{will-change:transform;display:inline-block}.acc[data-astro-cid-2rl6qrpo]{color:var(--accent)}.sub[data-astro-cid-2rl6qrpo]{flex-wrap:wrap;align-items:center;gap:24px 48px;display:flex}.sub[data-astro-cid-2rl6qrpo] p[data-astro-cid-2rl6qrpo]{max-width:46ch;color:var(--ink-2)}.email[data-astro-cid-2rl6qrpo]{border:1px solid var(--line-2);border-radius:var(--radius-input);background:var(--bg-2);font-family:var(--font-mono);color:var(--ink);align-items:center;gap:12px;padding:12px 16px;font-size:15px;display:inline-flex}.email[data-astro-cid-2rl6qrpo] button[data-astro-cid-2rl6qrpo]{min-height:32px;font-family:var(--font-mono);font-size:var(--text-small);color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 8px}.email[data-astro-cid-2rl6qrpo] button[data-astro-cid-2rl6qrpo]:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.glow[data-astro-cid-2rl6qrpo]{aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--accent) 18%, transparent), transparent 60%);pointer-events:none;border-radius:50%;width:60vw;max-width:900px;position:absolute;bottom:-30%;right:-10%}
