.site-kp .portfolio-section:where(.astro-j7bjr7cj){padding:var(--space-16, 4rem) 0}.site-kp .portfolio-heading:where(.astro-j7bjr7cj){text-align:center;margin-bottom:var(--space-8, 2rem)}.site-kp .portfolio-heading:where(.astro-j7bjr7cj) h2:where(.astro-j7bjr7cj){font-size:var(--font-size-3xl, 1.875rem);font-weight:var(--font-weight-bold, 700);color:var(--color-text, #111)}.site-kp .portfolio-filters:where(.astro-j7bjr7cj){display:flex;flex-wrap:wrap;gap:var(--space-2, .5rem);justify-content:center;margin-bottom:var(--space-8, 2rem)}.site-kp .pf-btn:where(.astro-j7bjr7cj){padding:8px 18px;border-radius:999px;border:1.5px solid var(--color-border, #e5e7eb);background:transparent;color:var(--color-text-muted, #6b7280);font-size:var(--font-size-sm, .875rem);font-weight:500;cursor:pointer;transition:background .18s,border-color .18s,color .18s;white-space:nowrap}.site-kp .pf-btn:where(.astro-j7bjr7cj):hover{border-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb)}.site-kp .pf-btn--active:where(.astro-j7bjr7cj){background:var(--color-primary, #2563eb);border-color:var(--color-primary, #2563eb);color:#fff}.site-kp .portfolio-grid:where(.astro-j7bjr7cj){display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6, 1.5rem)}@media(max-width:1024px){.site-kp .portfolio-grid:where(.astro-j7bjr7cj){grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.site-kp .portfolio-grid:where(.astro-j7bjr7cj){grid-template-columns:1fr}}.site-kp .portfolio-card__link:where(.astro-j7bjr7cj){display:block;text-decoration:none;color:inherit}.site-kp .portfolio-card__img-wrap:where(.astro-j7bjr7cj){position:relative;overflow:hidden;border-radius:var(--radius-lg, 12px);aspect-ratio:4/3;background:var(--color-surface, #f3f4f6)}.site-kp .portfolio-card__img:where(.astro-j7bjr7cj){width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.site-kp .portfolio-card__img-wrap:where(.astro-j7bjr7cj):hover .portfolio-card__img:where(.astro-j7bjr7cj){transform:scale(1.06)}.site-kp .portfolio-card__overlay:where(.astro-j7bjr7cj){position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.1) 55%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-4, 1rem) var(--space-5, 1.25rem);opacity:0;transition:opacity .28s ease}.site-kp .portfolio-card__img-wrap:where(.astro-j7bjr7cj):hover .portfolio-card__overlay:where(.astro-j7bjr7cj){opacity:1}.site-kp .portfolio-card__cat:where(.astro-j7bjr7cj){font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent, #f59e0b);margin-bottom:4px}.site-kp .portfolio-card__title:where(.astro-j7bjr7cj){font-size:var(--font-size-base, 1rem);font-weight:600;color:#fff;margin:0 0 8px;line-height:1.3}.site-kp .portfolio-card__meta:where(.astro-j7bjr7cj){list-style:none;padding:0;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:#ffffffd9}.site-kp .meta-icon:where(.astro-j7bjr7cj){margin-right:3px}.site-kp .portfolio-card__cta:where(.astro-j7bjr7cj){display:inline-block;font-size:13px;font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:1px}.site-kp .portfolio-empty:where(.astro-j7bjr7cj){text-align:center;color:var(--color-text-muted, #6b7280);padding:var(--space-12, 3rem) 0}
