[data-paged-portfolio] .pf-paged-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.pf-paged-grid .lm-project-card{display:flex;flex-direction:column;min-width:0;height:100%;overflow:hidden}
.pf-paged-grid .pf-preview{width:100%;aspect-ratio:1.52;flex:none}
.pf-paged-grid .lm-project-copy{padding:22px;display:flex;flex-direction:column;flex:1;min-width:0}
.pf-paged-grid .lm-project-copy small{font-size:12px;line-height:1.5;min-height:1.5em}
.pf-paged-grid .lm-project-copy h3{line-height:1.5;min-height:3em;margin:12px 0 8px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.pf-paged-grid .lm-project-copy p{margin:0;line-height:1.65;min-height:4.95em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.pf-paged-footer{display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 0 8px;text-align:center}
.pf-paged-footer .pf-result-count{margin:0;color:var(--lm-muted,#66758b);font-size:14px}
.pf-load-more{gap:10px;min-height:44px}.pf-load-more[aria-disabled=true]{opacity:.7;cursor:wait}
.pf-load-spinner{display:none;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pf-page-spin .7s linear infinite}
[data-paged-portfolio][aria-busy=true] .pf-load-spinner{display:inline-block}
.pf-paged-error{color:var(--lm-text,#334155);margin:0;font-size:14px}
.pf-paged-empty[hidden],.pf-paged-footer [hidden]{display:none!important}
.pf-added{animation:pf-page-in .25s ease-out both}
@keyframes pf-page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes pf-page-spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){[data-paged-portfolio] .pf-paged-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){[data-paged-portfolio] .pf-paged-grid{grid-template-columns:minmax(0,1fr);gap:18px}.pf-paged-grid .lm-project-copy{padding:20px}}
@media(prefers-reduced-motion:reduce){.pf-added,.pf-load-spinner{animation:none}}
