.section-head[data-astro-cid-4pwhl5fg]{justify-content:space-between;align-items:flex-end;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-line);flex-wrap:wrap;display:flex}.section-titles[data-astro-cid-4pwhl5fg]{gap:var(--space-2);display:grid}.section-titles[data-astro-cid-4pwhl5fg] .pixel-label{color:var(--color-accent)}.section-title[data-astro-cid-4pwhl5fg]{font-size:var(--text-section);letter-spacing:var(--tracking-display);font-weight:600;line-height:1.1}.align-center[data-astro-cid-4pwhl5fg]{text-align:center;border-bottom:0;flex-direction:column;align-items:center}.align-center[data-astro-cid-4pwhl5fg] .section-titles[data-astro-cid-4pwhl5fg]{justify-items:center}.ticker[data-astro-cid-dt6iqmhg]{padding-block:var(--space-6);background:var(--color-accent);color:var(--color-surface);position:relative;overflow:hidden}.ticker-track[data-astro-cid-dt6iqmhg]{width:max-content;animation:40s linear infinite ticker;display:flex}.ticker[data-astro-cid-dt6iqmhg]:hover .ticker-track[data-astro-cid-dt6iqmhg],.ticker[data-astro-cid-dt6iqmhg]:focus-within .ticker-track[data-astro-cid-dt6iqmhg],.ticker[data-astro-cid-dt6iqmhg].is-paused .ticker-track[data-astro-cid-dt6iqmhg]{animation-play-state:paused}.ticker-toggle[data-astro-cid-dt6iqmhg]{top:50%;right:var(--page-inline);z-index:1;min-height:2.75rem;padding:0 var(--space-4);border:1px solid var(--color-surface);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-label);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;cursor:pointer;box-shadow:-24px 0 24px var(--color-accent);font-weight:600;position:absolute;transform:translateY(-50%)}.ticker-list[data-astro-cid-dt6iqmhg]{gap:var(--space-3);padding:0 var(--space-3) 0 0;margin:0;list-style:none;display:flex}.ticker-list[data-astro-cid-dt6iqmhg] li[data-astro-cid-dt6iqmhg]{border-radius:var(--radius-pill);font-family:var(--font-label);letter-spacing:var(--tracking-label);text-transform:uppercase;white-space:nowrap;border:1px solid #fff6;padding:.5rem 1rem;font-size:.875rem;font-weight:600}@keyframes ticker{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.ticker-toggle[data-astro-cid-dt6iqmhg]{display:none}.ticker-track[data-astro-cid-dt6iqmhg]{flex-wrap:wrap;width:auto;animation:none}.ticker-list[data-astro-cid-dt6iqmhg][aria-hidden=true]{display:none}.ticker-list[data-astro-cid-dt6iqmhg]{padding-inline:var(--page-inline);flex-wrap:wrap}}.hero[data-astro-cid-m4hriyvm]{background:var(--color-ink);height:clamp(420px,68svh,680px);color:var(--color-surface);display:grid;position:relative;overflow:hidden}.hero-slides[data-astro-cid-m4hriyvm],.hero-shade[data-astro-cid-m4hriyvm],.hero-content[data-astro-cid-m4hriyvm]{grid-area:1/1}.hero-slides[data-astro-cid-m4hriyvm]{position:relative}.hero-photo[data-astro-cid-m4hriyvm]{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .9s var(--ease), transform 1.4s var(--ease);position:absolute;inset:0;transform:scale(1.04)}.hero-photo[data-astro-cid-m4hriyvm].is-active{opacity:1;transform:scale(1)}.hero-shade[data-astro-cid-m4hriyvm]{background:linear-gradient(90deg,#11223cd1 0%,#11223c8c 45%,#11223c1a 100%);position:relative}.hero-content[data-astro-cid-m4hriyvm]{justify-content:space-between;align-items:flex-end;gap:var(--space-6);padding-block:var(--space-12);flex-wrap:wrap;display:flex;position:relative}.hero-copy[data-astro-cid-m4hriyvm]{justify-items:start;gap:var(--space-4);max-width:40rem;display:grid}.hero-title[data-astro-cid-m4hriyvm]{font-size:var(--text-title);letter-spacing:var(--tracking-display);font-weight:600;line-height:1.05}.hero-actions[data-astro-cid-m4hriyvm]{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.hero-cta[data-astro-cid-m4hriyvm]{min-height:3rem;padding:0 var(--space-6);border:1px solid var(--color-surface);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font-size:var(--text-sm);transition:background-color .16s var(--ease), border-color .16s var(--ease), color .16s var(--ease);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.hero-cta[data-astro-cid-m4hriyvm]:hover{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.hero-cta[data-astro-cid-m4hriyvm].is-ghost{color:var(--color-surface);background:0 0}.hero-controls[data-astro-cid-m4hriyvm]{align-items:center;gap:var(--space-2);display:flex}.hero-controls[data-astro-cid-m4hriyvm][hidden]{display:none}.hero-button[data-astro-cid-m4hriyvm]{border-radius:var(--radius-pill);width:2.75rem;height:2.75rem;color:inherit;cursor:pointer;transition:background-color .16s var(--ease);background:#11223c4d;border:1px solid #fff9;place-items:center;padding:0;display:grid}.hero-button[data-astro-cid-m4hriyvm]:hover{background:var(--color-accent);border-color:var(--color-accent)}.hero-play[data-astro-cid-m4hriyvm],.hero-button[data-astro-cid-m4hriyvm][aria-pressed=true] .hero-pause[data-astro-cid-m4hriyvm]{display:none}.hero-button[data-astro-cid-m4hriyvm][aria-pressed=true] .hero-play[data-astro-cid-m4hriyvm]{display:block}.hero-dots[data-astro-cid-m4hriyvm]{margin:0;padding:0;list-style:none;display:flex}.hero-dot[data-astro-cid-m4hriyvm]{cursor:pointer;background:0 0;border:0;place-items:center;width:1.5rem;height:2.75rem;padding:0;display:grid}.hero-dot[data-astro-cid-m4hriyvm]:before{content:"";border-radius:var(--radius-pill);width:.5rem;height:.5rem;transition:width .24s var(--ease), background-color .24s var(--ease);background:#ffffff80}.hero-dot[data-astro-cid-m4hriyvm][aria-current=true]:before{background:var(--color-surface);width:1.25rem}.hero[data-astro-cid-m4hriyvm] [data-astro-cid-m4hriyvm]:focus-visible{outline-color:var(--color-surface)}@media (width<=640px){.hero[data-astro-cid-m4hriyvm]{height:clamp(440px,78svh,620px)}.hero-shade[data-astro-cid-m4hriyvm]{background:linear-gradient(#11223c26 0%,#11223c80 45%,#11223ce0 100%)}.hero-content[data-astro-cid-m4hriyvm]{padding-block:var(--space-8) var(--space-6)}}.about[data-astro-cid-7jwgevc3]{justify-items:center;gap:var(--space-6);padding-block:var(--space-24) var(--space-16);text-align:center;display:grid}.about-label[data-astro-cid-7jwgevc3]{color:var(--color-accent)}.statement[data-astro-cid-7jwgevc3]{max-width:52rem;font-size:var(--text-statement);letter-spacing:var(--tracking-display);font-weight:500;line-height:1.2}.statement-muted[data-astro-cid-7jwgevc3]{color:var(--color-ink-muted)}@media (width<=640px){.about[data-astro-cid-7jwgevc3]{padding-block:var(--space-16) var(--space-12)}}.info[data-astro-cid-3us2t57a]{background:var(--color-surface);border-top:1px solid var(--color-line)}.info-inner[data-astro-cid-3us2t57a]{gap:var(--space-8);padding-block:var(--space-16);display:grid}.info-grid[data-astro-cid-3us2t57a]{justify-content:center;gap:var(--gutter);flex-wrap:wrap;margin:0;display:flex}.info-card[data-astro-cid-3us2t57a]{align-content:start;justify-items:center;gap:var(--space-2);max-width:20rem;padding:var(--space-8) var(--space-6);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-bg);text-align:center;transition:border-color .2s var(--ease);flex:15rem;display:grid}.info-card[data-astro-cid-3us2t57a]:hover{border-color:var(--color-accent)}.info-icon[data-astro-cid-3us2t57a]{width:3.25rem;height:3.25rem;margin-bottom:var(--space-2);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);place-items:center;display:grid}dt[data-astro-cid-3us2t57a]{font-family:var(--font-label);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-ink-muted);font-weight:600}dd[data-astro-cid-3us2t57a]{font-size:var(--text-base);overflow-wrap:anywhere;margin:0;font-weight:500;line-height:1.35}dd[data-astro-cid-3us2t57a] a[data-astro-cid-3us2t57a]{text-decoration:none}dd[data-astro-cid-3us2t57a] a[data-astro-cid-3us2t57a]:hover{color:var(--color-accent);text-underline-offset:3px;text-decoration:underline}.info-social[data-astro-cid-3us2t57a]{justify-items:center;gap:var(--space-3);display:grid}.info-social[data-astro-cid-3us2t57a] .social-links{justify-content:center}@media (width<=640px){.info-inner[data-astro-cid-3us2t57a]{gap:var(--space-6);padding-block:var(--space-12)}.info-card[data-astro-cid-3us2t57a]{max-width:none;padding:var(--space-6) var(--space-4)}dd[data-astro-cid-3us2t57a]{font-size:clamp(1.125rem,4.6vw,1.25rem)}}.rail[data-astro-cid-2aulsy2d]{padding-block:var(--space-12);--rail-view:calc(100svh - var(--header-offset) - var(--contact-bar-h));background:var(--color-surface);border-block:1px solid var(--color-line)}.rail[data-astro-cid-2aulsy2d].is-pinned{height:calc(var(--rail-view) + var(--rail-distance));padding-block:0}.rail-sticky[data-astro-cid-2aulsy2d]{gap:var(--space-8);grid-template-columns:minmax(0,1fr);display:grid}.rail[data-astro-cid-2aulsy2d].is-pinned .rail-sticky[data-astro-cid-2aulsy2d]{top:var(--header-offset);height:var(--rail-view);align-content:center;position:sticky;overflow:clip}.rail-track[data-astro-cid-2aulsy2d]{gap:var(--gutter);width:max-content;padding:0 var(--page-inline);will-change:transform;margin:0;list-style:none;display:flex}.rail[data-astro-cid-2aulsy2d]:not(.is-pinned) .rail-track[data-astro-cid-2aulsy2d]{scroll-snap-type:x mandatory;scrollbar-width:thin;width:auto;overflow-x:auto}.rail-card[data-astro-cid-2aulsy2d]{scroll-snap-align:start;flex:none;width:clamp(240px,24vw,340px)}.rail-card[data-astro-cid-2aulsy2d] a[data-astro-cid-2aulsy2d]{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;transition:border-color .2s var(--ease);text-decoration:none;display:block;position:relative;overflow:hidden}.rail-card[data-astro-cid-2aulsy2d] a[data-astro-cid-2aulsy2d]:hover{border-color:var(--color-accent)}.rail-card[data-astro-cid-2aulsy2d] img[data-astro-cid-2aulsy2d]{width:100%;height:min(calc(var(--rail-view) - 14rem), 420px);object-fit:cover;background:var(--color-photo);min-height:220px;transition:transform .6s var(--ease)}.rail-card[data-astro-cid-2aulsy2d] a[data-astro-cid-2aulsy2d]:hover img[data-astro-cid-2aulsy2d]{transform:scale(1.02)}.rail-meta[data-astro-cid-2aulsy2d]{justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border-top:1px solid var(--color-line);display:flex}.rail-name[data-astro-cid-2aulsy2d]{font-size:var(--text-base);font-weight:500;line-height:1.3}.rail-price[data-astro-cid-2aulsy2d]{font-size:var(--text-sm);color:var(--color-accent);flex:none;font-weight:600}.rail-pill[data-astro-cid-2aulsy2d]{top:var(--space-4);right:var(--space-4);border-radius:var(--radius-pill);background:var(--color-surface);font-family:var(--font-label);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;transition:background-color .16s var(--ease), color .16s var(--ease);padding:.375rem .75rem;font-weight:600;position:absolute}.rail-card[data-astro-cid-2aulsy2d] a[data-astro-cid-2aulsy2d]:hover .rail-pill[data-astro-cid-2aulsy2d]{background:var(--color-accent);color:var(--color-on-accent)}@media (width<=640px){.rail-card[data-astro-cid-2aulsy2d]{width:78vw}.rail-card[data-astro-cid-2aulsy2d] img[data-astro-cid-2aulsy2d]{height:min(calc(var(--rail-view) - 14rem), 360px)}}.stack[data-astro-cid-xpkreyb6]{gap:var(--space-8);padding-block:var(--space-16);display:grid}.stack-list[data-astro-cid-xpkreyb6]{gap:var(--space-6);margin:0;padding:0;list-style:none;display:grid}.stack-card[data-astro-cid-xpkreyb6]{top:calc(var(--header-offset) + var(--space-6) + var(--i) * 1rem);scroll-margin-top:calc(var(--header-offset) + var(--space-6) + var(--i) * 1rem);position:sticky}.stack-card[data-astro-cid-xpkreyb6] a[data-astro-cid-xpkreyb6]{gap:var(--space-8);min-height:min(62svh,560px);padding:var(--space-6);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;transition:border-color .2s var(--ease);grid-template-columns:auto minmax(0,1fr) minmax(0,.9fr);align-items:stretch;text-decoration:none;display:grid}.stack-card[data-astro-cid-xpkreyb6] a[data-astro-cid-xpkreyb6]:hover{border-color:var(--color-accent)}.stack-index[data-astro-cid-xpkreyb6]{font-family:var(--font-label);font-size:var(--text-sm);color:var(--color-accent);font-weight:600}.stack-text[data-astro-cid-xpkreyb6]{align-items:flex-start;gap:var(--space-4);flex-direction:column;display:flex}.stack-name[data-astro-cid-xpkreyb6]{font-size:var(--text-row);letter-spacing:var(--tracking-display);font-weight:600;line-height:1.05}.stack-description[data-astro-cid-xpkreyb6]{max-width:36ch;color:var(--color-ink-muted);font-size:var(--text-lg)}.stack-pill[data-astro-cid-xpkreyb6]{border:1px solid var(--color-ink);border-radius:var(--radius-pill);font-family:var(--font-label);letter-spacing:var(--tracking-label);text-transform:uppercase;transition:background-color .16s var(--ease), color .16s var(--ease);margin-top:auto;padding:.5rem 1rem;font-size:.8125rem;font-weight:600}.stack-card[data-astro-cid-xpkreyb6] a[data-astro-cid-xpkreyb6]:hover .stack-pill[data-astro-cid-xpkreyb6]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.stack-card[data-astro-cid-xpkreyb6] img[data-astro-cid-xpkreyb6]{border-radius:var(--radius-sm);object-fit:cover;background:var(--color-photo);width:100%;height:100%;min-height:240px}@media (width<=760px){.stack-card[data-astro-cid-xpkreyb6]{top:calc(var(--header-offset) + var(--space-3) + var(--i) * .75rem)}.stack-card[data-astro-cid-xpkreyb6] a[data-astro-cid-xpkreyb6]{gap:var(--space-4);padding:var(--space-4);grid-template-columns:1fr}.stack-card[data-astro-cid-xpkreyb6] img[data-astro-cid-xpkreyb6]{order:-1;height:32svh;min-height:0}}.projects[data-astro-cid-lcdefpme]{gap:var(--space-8);padding-block:var(--space-16);display:grid}.projects-grid[data-astro-cid-lcdefpme]{gap:var(--gutter);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}@media (width<=760px){.projects-grid[data-astro-cid-lcdefpme]{grid-template-columns:1fr}}
