.hero[data-astro-cid-wbltqw2m]{background:var(--color-bg-primary);align-items:center;min-height:100svh;padding-block:calc(72px + clamp(3rem,6vh,5rem)) clamp(4rem,8vh,7rem);display:flex;position:relative;overflow:hidden}.hero[data-astro-cid-wbltqw2m]:after{content:"";pointer-events:none;background:#2563eb12;width:min(28vw,420px);position:absolute;top:72px;bottom:0;right:0}.hero-layout[data-astro-cid-wbltqw2m]{z-index:1;align-items:center;gap:clamp(var(--space-3xl), 7vw, var(--space-5xl));grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);display:grid;position:relative}.hero-copy[data-astro-cid-wbltqw2m]{min-width:0}.hero-kicker[data-astro-cid-wbltqw2m]{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500;display:flex}.kicker-mark[data-astro-cid-wbltqw2m]{background:var(--color-opensource);width:20px;height:3px}.hero-title[data-astro-cid-wbltqw2m]{max-width:10em;margin-bottom:var(--space-lg);letter-spacing:-.04em;text-wrap:balance;font-size:clamp(3.25rem,4.2vw,4.25rem);line-height:.96}.title-line[data-astro-cid-wbltqw2m]{display:block}.title-accent[data-astro-cid-wbltqw2m]{color:var(--color-accent-hover)}.hero-summary[data-astro-cid-wbltqw2m]{max-width:61ch;margin-bottom:var(--space-xl);color:var(--color-text-secondary);font-size:var(--text-lg);line-height:1.65}.hero-actions[data-astro-cid-wbltqw2m]{align-items:center;gap:var(--space-xl);margin-bottom:var(--space-2xl);display:flex}.hero-primary[data-astro-cid-wbltqw2m],.hero-primary[data-astro-cid-wbltqw2m]:hover{box-shadow:none}.hero-primary[data-astro-cid-wbltqw2m] svg[data-astro-cid-wbltqw2m],.hero-secondary[data-astro-cid-wbltqw2m] svg[data-astro-cid-wbltqw2m]{transition:transform .22s cubic-bezier(.22,1,.36,1)}.hero-primary[data-astro-cid-wbltqw2m]:hover svg[data-astro-cid-wbltqw2m],.hero-secondary[data-astro-cid-wbltqw2m]:hover svg[data-astro-cid-wbltqw2m]{transform:translate(4px)}.hero-secondary[data-astro-cid-wbltqw2m]{justify-content:center;align-items:center;gap:var(--space-sm);min-height:48px;color:var(--color-text-primary);font-size:var(--text-sm);font-weight:600;text-decoration:none;display:inline-flex}.hero-secondary[data-astro-cid-wbltqw2m]:hover{color:var(--color-accent-hover)}.hero-proof[data-astro-cid-wbltqw2m]{max-width:620px;padding-block:var(--space-lg);border-top:1px solid var(--color-border-hover);border-bottom:1px solid var(--color-border-hover);color:var(--color-text-primary);text-decoration:none;transition:border-color .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1);display:block}.hero-proof[data-astro-cid-wbltqw2m]:hover{border-color:var(--color-accent-hover);color:var(--color-text-primary);transform:translate(4px)}.proof-meta[data-astro-cid-wbltqw2m]{justify-content:space-between;gap:var(--space-lg);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);display:flex}.hero-proof[data-astro-cid-wbltqw2m] strong[data-astro-cid-wbltqw2m]{max-width:48ch;margin-block:var(--space-sm);font-size:var(--text-lg);line-height:1.45;display:block}.proof-link[data-astro-cid-wbltqw2m]{color:var(--color-accent-hover);font-size:var(--text-sm);font-weight:600}.hero-portrait[data-astro-cid-wbltqw2m]{isolation:isolate;width:min(100%,440px);margin:0 0 0 auto;position:relative}.portrait-frame[data-astro-cid-wbltqw2m]{aspect-ratio:4/5;background:var(--color-bg-elevated);position:relative}.portrait-frame[data-astro-cid-wbltqw2m]:before{content:"";z-index:-1;inset:var(--space-xl) calc(-1 * var(--space-xl)) calc(-1 * var(--space-xl)) var(--space-xl);background:var(--color-accent);position:absolute}.portrait-frame[data-astro-cid-wbltqw2m] picture[data-astro-cid-wbltqw2m],.portrait-frame[data-astro-cid-wbltqw2m] img[data-astro-cid-wbltqw2m]{width:100%;height:100%;display:block}.portrait-frame[data-astro-cid-wbltqw2m] img[data-astro-cid-wbltqw2m]{object-fit:cover;object-position:50% 42%;filter:saturate(.82)contrast(1.04)}.hero-portrait[data-astro-cid-wbltqw2m] figcaption[data-astro-cid-wbltqw2m]{justify-content:space-between;gap:var(--space-lg);margin-top:calc(var(--space-xl) + var(--space-md));padding-top:var(--space-md);border-top:1px solid var(--color-border-hover);color:var(--color-text-muted);font-size:var(--text-sm);display:flex}.hero-portrait[data-astro-cid-wbltqw2m] figcaption[data-astro-cid-wbltqw2m] strong[data-astro-cid-wbltqw2m]{color:var(--color-text-primary)}@media (width<=1024px){.hero-layout[data-astro-cid-wbltqw2m]{gap:var(--space-3xl);grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr)}.hero-title[data-astro-cid-wbltqw2m]{font-size:clamp(3.15rem,6.2vw,4.25rem)}}@media (width<=820px){.hero[data-astro-cid-wbltqw2m]{min-height:auto;padding-block:calc(72px + var(--space-2xl)) var(--space-4xl)}.hero[data-astro-cid-wbltqw2m]:after{width:45vw;height:36%;top:auto}.hero-layout[data-astro-cid-wbltqw2m]{gap:var(--space-4xl);grid-template-columns:1fr}.hero-copy[data-astro-cid-wbltqw2m]{max-width:640px}.hero-title[data-astro-cid-wbltqw2m]{max-width:10em;font-size:clamp(3rem,11vw,4.5rem)}.hero-portrait[data-astro-cid-wbltqw2m]{width:min(calc(100% - var(--space-xl)), 480px);margin-inline:auto}}@media (width<=520px){.hero[data-astro-cid-wbltqw2m]{padding-block:calc(72px + var(--space-xl)) var(--space-3xl)}.hero-kicker[data-astro-cid-wbltqw2m]{margin-bottom:var(--space-md);font-size:.875rem}.hero-title[data-astro-cid-wbltqw2m]{max-width:10em;margin-bottom:var(--space-lg);font-size:clamp(2.75rem,11.5vw,3.5rem)}.hero-summary[data-astro-cid-wbltqw2m]{margin-bottom:var(--space-xl);font-size:1.0625rem;line-height:1.55}.hero-actions[data-astro-cid-wbltqw2m]{align-items:stretch;gap:var(--space-sm);margin-bottom:var(--space-xl);flex-direction:column}.hero-primary[data-astro-cid-wbltqw2m]{width:100%}.proof-meta[data-astro-cid-wbltqw2m]{gap:var(--space-xs);flex-direction:column}.hero-proof[data-astro-cid-wbltqw2m] strong[data-astro-cid-wbltqw2m]{font-size:1.0625rem}.hero-portrait[data-astro-cid-wbltqw2m]{width:calc(100% - var(--space-xl))}.portrait-frame[data-astro-cid-wbltqw2m]:before{inset:var(--space-md) calc(-1 * var(--space-md)) calc(-1 * var(--space-md)) var(--space-md)}.hero-portrait[data-astro-cid-wbltqw2m] figcaption[data-astro-cid-wbltqw2m]{margin-top:calc(var(--space-md) + var(--space-lg));gap:var(--space-xs);flex-direction:column}}.featured-work[data-astro-cid-655uvqrm]{background:var(--color-bg-secondary);position:relative}.featured-work[data-astro-cid-655uvqrm]:before{content:"";background:linear-gradient(90deg, transparent, var(--color-border), transparent);height:1px;position:absolute;top:0;left:0;right:0}.projects-grid[data-astro-cid-655uvqrm]{gap:var(--space-xl);grid-template-columns:repeat(2,1fr);display:grid}.project-card[data-astro-cid-655uvqrm]{flex-direction:column;min-height:300px;text-decoration:none;display:flex}.project-card[data-astro-cid-655uvqrm].category-client{--category-color:var(--color-client)}.project-card[data-astro-cid-655uvqrm].category-opensource{--category-color:var(--color-opensource)}.project-card[data-astro-cid-655uvqrm].category-sideproject{--category-color:var(--color-sideproject)}.project-card[data-astro-cid-655uvqrm]:before{background:linear-gradient(135deg, color-mix(in srgb, var(--category-color) 20%, transparent) 0%, transparent 50%)}.project-header[data-astro-cid-655uvqrm]{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.current-badge[data-astro-cid-655uvqrm]{font-size:var(--text-xs);color:var(--color-opensource);align-items:center;gap:6px;font-weight:500;display:inline-flex}.current-dot[data-astro-cid-655uvqrm]{background:var(--color-opensource);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}.stars-badge[data-astro-cid-655uvqrm]{font-size:var(--text-xs);color:#fbbf24;align-items:center;gap:4px;margin-left:auto;font-weight:500;display:inline-flex}.project-title[data-astro-cid-655uvqrm]{font-size:var(--text-2xl);margin-bottom:var(--space-xs);transition:color var(--transition-fast)}.project-card[data-astro-cid-655uvqrm]:hover .project-title[data-astro-cid-655uvqrm]{color:var(--category-color)}.project-client[data-astro-cid-655uvqrm]{font-size:var(--text-sm);color:var(--color-text-muted);font-family:var(--font-mono);margin-bottom:var(--space-md)}.project-description[data-astro-cid-655uvqrm]{font-size:var(--text-sm);color:var(--color-text-secondary);flex-grow:1;line-height:1.7}.project-footer[data-astro-cid-655uvqrm]{margin-top:var(--space-xl);justify-content:space-between;align-items:flex-end;display:flex}.project-tech[data-astro-cid-655uvqrm]{gap:var(--space-xs);flex-wrap:wrap;display:flex}.tech-tag[data-astro-cid-655uvqrm]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-elevated);border-radius:var(--radius-sm);padding:4px 8px}.project-arrow[data-astro-cid-655uvqrm]{border-radius:var(--radius-md);background:var(--color-bg-elevated);width:36px;height:36px;color:var(--color-text-muted);transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.project-card[data-astro-cid-655uvqrm]:hover .project-arrow[data-astro-cid-655uvqrm]{background:var(--category-color);color:#fff;transform:translate(4px,-4px)}.featured-cta[data-astro-cid-655uvqrm]{margin-top:var(--space-3xl);justify-content:center;display:flex}@media (width<=900px){.projects-grid[data-astro-cid-655uvqrm]{grid-template-columns:1fr}}.services[data-astro-cid-pzqhft4k]{position:relative}.services-grid[data-astro-cid-pzqhft4k]{gap:var(--space-xl);grid-template-columns:repeat(2,1fr);display:grid}.service-card[data-astro-cid-pzqhft4k]{padding:var(--space-2xl)}.service-icon[data-astro-cid-pzqhft4k]{background:linear-gradient(135deg, var(--color-accent-subtle), transparent);border-radius:var(--radius-lg);width:56px;height:56px;margin-bottom:var(--space-lg);transition:all var(--transition-base);border:1px solid #3b82f633;justify-content:center;align-items:center;display:flex}.service-icon[data-astro-cid-pzqhft4k] svg[data-astro-cid-pzqhft4k]{width:28px;height:28px;color:var(--color-accent)}.service-card[data-astro-cid-pzqhft4k]:hover .service-icon[data-astro-cid-pzqhft4k]{background:var(--color-accent);border-color:var(--color-accent);transform:rotate(-5deg)scale(1.1)}.service-card[data-astro-cid-pzqhft4k]:hover .service-icon[data-astro-cid-pzqhft4k] svg[data-astro-cid-pzqhft4k]{color:#fff}.service-title[data-astro-cid-pzqhft4k]{font-size:var(--text-xl);margin-bottom:var(--space-md)}.service-description[data-astro-cid-pzqhft4k]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-lg);line-height:1.7}.service-highlights[data-astro-cid-pzqhft4k]{gap:var(--space-sm);flex-direction:column;list-style:none;display:flex}.highlight[data-astro-cid-pzqhft4k]{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.highlight[data-astro-cid-pzqhft4k] svg[data-astro-cid-pzqhft4k]{color:var(--color-accent);flex-shrink:0}.services-cta[data-astro-cid-pzqhft4k]{margin-top:var(--space-3xl);justify-content:center;display:flex}@media (width<=768px){.services-grid[data-astro-cid-pzqhft4k]{grid-template-columns:1fr}}.clients[data-astro-cid-3dfgrl7v]{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding-block:var(--space-3xl)}.clients-content[data-astro-cid-3dfgrl7v]{justify-content:space-between;align-items:center;gap:var(--space-3xl);display:flex}.clients-label[data-astro-cid-3dfgrl7v]{font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.clients-grid[data-astro-cid-3dfgrl7v]{align-items:center;gap:var(--space-4xl);flex-wrap:wrap;justify-content:flex-end;display:flex}.client-item[data-astro-cid-3dfgrl7v]{align-items:center;gap:var(--space-xs);transition:opacity var(--transition-base);flex-direction:column;display:flex}.client-name[data-astro-cid-3dfgrl7v]{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-text-secondary);letter-spacing:-.02em;transition:color var(--transition-base);font-weight:700}.client-item[data-astro-cid-3dfgrl7v]:hover .client-name[data-astro-cid-3dfgrl7v]{color:var(--color-text-primary)}.client-desc[data-astro-cid-3dfgrl7v]{font-size:var(--text-xs);color:var(--color-text-muted)}@media (width<=900px){.clients-content[data-astro-cid-3dfgrl7v]{text-align:center;flex-direction:column}.clients-grid[data-astro-cid-3dfgrl7v]{justify-content:center}}@media (width<=640px){.clients-grid[data-astro-cid-3dfgrl7v]{gap:var(--space-2xl)}}.latest-posts[data-astro-cid-e5564bjc]{background:var(--color-bg-secondary)}.posts-grid[data-astro-cid-e5564bjc]{gap:var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.post-card[data-astro-cid-e5564bjc]{padding:var(--space-xl);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-base);flex-direction:column;text-decoration:none;display:flex}.post-card[data-astro-cid-e5564bjc]:hover{border-color:var(--color-border-hover);transform:translateY(-4px);box-shadow:0 20px 40px #0000004d}.post-meta[data-astro-cid-e5564bjc]{align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.post-date[data-astro-cid-e5564bjc]{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.external-badge[data-astro-cid-e5564bjc]{font-size:var(--text-xs);color:var(--color-sideproject);align-items:center;gap:4px;font-weight:500;display:inline-flex}.post-title[data-astro-cid-e5564bjc]{font-size:var(--text-lg);color:var(--color-text-primary);margin-bottom:var(--space-sm);transition:color var(--transition-fast)}.post-card[data-astro-cid-e5564bjc]:hover .post-title[data-astro-cid-e5564bjc]{color:var(--color-accent)}.post-description[data-astro-cid-e5564bjc]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-lg);flex-grow:1;line-height:1.6}.post-tags[data-astro-cid-e5564bjc]{gap:var(--space-xs);flex-wrap:wrap;display:flex}.post-tag[data-astro-cid-e5564bjc]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-elevated);border-radius:var(--radius-sm);padding:4px 8px}.posts-cta[data-astro-cid-e5564bjc]{margin-top:var(--space-3xl);justify-content:center;display:flex}@media (width<=1024px){.posts-grid[data-astro-cid-e5564bjc]{grid-template-columns:repeat(2,1fr)}.posts-grid[data-astro-cid-e5564bjc] .post-card[data-astro-cid-e5564bjc]:last-child{grid-column:1/-1}}@media (width<=640px){.posts-grid[data-astro-cid-e5564bjc]{grid-template-columns:1fr}.posts-grid[data-astro-cid-e5564bjc] .post-card[data-astro-cid-e5564bjc]:last-child{grid-column:auto}}.cta-section[data-astro-cid-amgc2qwm]{padding-block:var(--space-6xl);position:relative;overflow:hidden}.cta-bg[data-astro-cid-amgc2qwm]{z-index:0;position:absolute;inset:0}.cta-gradient[data-astro-cid-amgc2qwm]{background:radial-gradient(100% 100% at 50% 100%,#3b82f626 0%,#0000 60%);position:absolute;inset:0}.cta-grid[data-astro-cid-amgc2qwm]{background-image:linear-gradient(#3b82f60d 1px,#0000 1px),linear-gradient(90deg,#3b82f60d 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 100%);mask-image:linear-gradient(#0000 0%,#000 100%)}.cta-content[data-astro-cid-amgc2qwm]{z-index:1;text-align:center;max-width:700px;margin-inline:auto;position:relative}.cta-label[data-astro-cid-amgc2qwm]{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);margin-bottom:var(--space-lg);display:inline-block}.cta-title[data-astro-cid-amgc2qwm]{font-size:var(--text-4xl);margin-bottom:var(--space-lg);line-height:1.1}.cta-description[data-astro-cid-amgc2qwm]{font-size:var(--text-lg);color:var(--color-text-secondary);margin-bottom:var(--space-2xl);margin-inline:auto;line-height:1.6}.cta-title[data-astro-cid-amgc2qwm]{text-wrap:balance}.cta-actions[data-astro-cid-amgc2qwm]{justify-content:center;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}@media (width<=640px){.cta-actions[data-astro-cid-amgc2qwm]{flex-direction:column;width:100%}.cta-actions[data-astro-cid-amgc2qwm] .btn[data-astro-cid-amgc2qwm]{width:100%}}
