.teaser-live{flex-shrink:0;width:6px;height:6px;display:inline-flex;position:relative}.teaser-live:before,.teaser-live:after{content:"";background:var(--accent-on-ink);border-radius:999px;position:absolute;inset:0}.teaser-live:before{opacity:.6;animation:1.6s cubic-bezier(0,0,.2,1) infinite teaser-ping}@keyframes teaser-ping{75%,to{opacity:0;transform:scale(2.4)}}.teaser-meta{color:#f5f3f066;font-variant-numeric:tabular-nums;align-items:center;gap:.375rem;margin:0;font-size:.75rem;line-height:1.4;display:flex}.teaser-new{color:var(--accent-on-ink);background:#fb923c24;border-radius:999px;padding:0 .4375rem;font-size:.6875rem;font-weight:600}.teaser-title{text-wrap:balance;margin:0;font-weight:500;line-height:1.35}.teaser-clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.teaser-chev{color:#f5f3f08c;border:1px solid #ffffff24;border-radius:999px;flex-shrink:0;place-items:center;width:1.625rem;height:1.625rem;margin-left:auto;display:grid}.teaser-chev svg{width:.875rem;height:.875rem}.teaser-stack{min-width:0;display:flex;position:relative}.teaser-stack__card{z-index:2;background:var(--ink-2);flex:1}.teaser-slips{z-index:1;position:absolute;inset:0 0 auto}.teaser-slips[data-open]{z-index:5}.teaser-slip{height:74px;color:var(--on-ink);transform-origin:50% 0;background:#1e1a16;border:1px solid #ffffff24;border-radius:.875rem;grid-template-columns:1fr auto;align-items:center;gap:.75rem;padding:.75rem .875rem;font-size:.8125rem;display:grid;position:absolute;inset:0 0 auto;box-shadow:0 12px 30px -16px #000c}.teaser-slip .teaser-meta{margin-bottom:.25rem}.teaser-go{color:#f5f3f08c;background:#ffffff0f;border-radius:999px;place-items:center;width:1.75rem;height:1.75rem;transition:background-color .15s,color .15s;display:grid}.teaser-go svg{width:.8125rem;height:.8125rem}.teaser-slip:hover .teaser-go{background:var(--accent-on-ink);color:var(--ink)}.teaser-toggle{text-align:left;cursor:pointer;border-radius:.625rem;align-items:center;gap:.625rem;width:calc(100% + .75rem);margin:-.375rem;padding:.375rem;transition:background-color .15s;display:flex}.teaser-toggle:hover{background:#ffffff0d}.teaser-bar{cursor:pointer;background:#ffffff1f;border-radius:999px;flex:1;height:3px;position:relative}.teaser-bar:after{content:"";position:absolute;inset:-10px 0}.teaser-bar span{border-radius:inherit;background:var(--on-ink);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.teaser-bar[data-state=done] span{transform:scaleX(1)}.teaser-bar[data-state=run] span{animation:teaser-fill var(--dur) linear forwards}.teaser-bar[data-paused] span{animation-play-state:paused}@keyframes teaser-fill{to{transform:scaleX(1)}}.teaser-slot{min-height:4rem;display:grid}.teaser-slot>*{grid-area:1/1;min-width:0}.teaser-item{flex-direction:column;gap:.375rem;display:flex}.teaser-item .teaser-title{transition:color .15s}.teaser-item:hover .teaser-title{color:var(--accent-on-ink)}.hero-stage[data-astro-cid-ge2uvauf]{--photo-w:2em;letter-spacing:-.055em;text-align:center;text-transform:uppercase;user-select:none;margin-top:2.25rem;font-size:clamp(3rem,12.5vw,9.5rem);font-weight:800;line-height:.82;position:relative}.hero-word[data-astro-cid-ge2uvauf]{white-space:nowrap;position:relative}.hero-word--back[data-astro-cid-ge2uvauf]{z-index:0;color:#ffffff29}.hero-photo[data-astro-cid-ge2uvauf]{z-index:10;width:var(--photo-w);position:absolute;top:-.3em;left:50%;translate:-50%;mask-image:linear-gradient(#000 70%,#0000 100%)}.hero-word--front[data-astro-cid-ge2uvauf]{z-index:20;margin-top:.55em}@media (width<=639px){.hero-stage[data-astro-cid-ge2uvauf]{--photo-w:48vw;margin-top:2.5rem}.hero-word--front[data-astro-cid-ge2uvauf]{margin-top:calc(.55 * 1.2 * var(--photo-w) - 1.12em)}}.teaser-when-stack[data-astro-cid-ge2uvauf]{display:none}.teaser-when-ticker[data-astro-cid-ge2uvauf]{display:contents}@media (width>=768px) and (hover:hover) and (pointer:fine){.teaser-when-stack[data-astro-cid-ge2uvauf]{display:contents}.teaser-when-ticker[data-astro-cid-ge2uvauf]{display:none}}.hero-in[data-astro-cid-ge2uvauf]{animation:hero-rise .9s var(--ease-out) both;animation-delay:var(--d,0s)}@keyframes hero-rise{0%{opacity:0;transform:translateY(24px)}}.hero-in--solid[data-astro-cid-ge2uvauf]{animation-name:hero-rise-solid}@keyframes hero-rise-solid{0%{transform:translateY(24px)}}.logo-card[data-astro-cid-2vjblbrd]{border:1px solid var(--border);background:var(--surface);height:5.5rem;transition:border-color .15s ease, transform .16s var(--ease-out);border-radius:1.125rem;justify-content:center;align-items:center;gap:.625rem;padding:0 .875rem;display:flex}.logo-card[data-astro-cid-2vjblbrd]:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.logo-card[data-astro-cid-2vjblbrd]:hover{border-color:color-mix(in srgb, var(--text) 25%, var(--border))}}.project-card[data-astro-cid-y2vllrex]{transition:border-color .2s ease, box-shadow .3s ease, opacity .7s var(--ease-out), transform .7s var(--ease-out)}.project-tile__img[data-astro-cid-y2vllrex]{transition:transform .4s var(--ease-out)}@media (hover:hover) and (pointer:fine){.project-card[data-astro-cid-y2vllrex]:hover{border-color:color-mix(in srgb, var(--text) 18%, var(--border));box-shadow:0 18px 40px -24px #00000040}.project-card[data-astro-cid-y2vllrex]:hover .project-tile__img[data-astro-cid-y2vllrex]{transform:scale(1.05)}}.tool-thumb[data-astro-cid-6g6xweid]{transition:transform .16s var(--ease-out), border-color .15s ease}.tool-thumb[data-astro-cid-6g6xweid]:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.tool-thumb[data-astro-cid-6g6xweid]:hover{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.terminal[data-astro-cid-he3spzz3]{transition:border-color .2s ease, opacity .7s var(--ease-out), transform .7s var(--ease-out)}@media (hover:hover) and (pointer:fine){.terminal[data-astro-cid-he3spzz3]:hover{border-color:#ffffff2e}}.terminal__caret[data-astro-cid-he3spzz3]{vertical-align:-.2em;background:var(--accent-on-ink);width:.55em;height:1.1em;margin-left:2px;animation:1s step-end infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.copy-email[data-astro-cid-he3spzz3][data-copied]{border-color:var(--accent-on-ink);color:var(--accent-on-ink)}
