.pf-portfolio{padding:36px 0 64px;color:var(--ink,#26201a);font-family:var(--font-body,system-ui,sans-serif)}
.pf-portfolio *{box-sizing:border-box}.pf-portfolio [hidden]{display:none!important}
.pf-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}
.pf-heading h1{font-size:clamp(28px,4vw,40px);line-height:1.2;margin:0 0 12px;border-left:6px solid var(--accent,#ff5c2b);padding-left:16px;letter-spacing:-.03em}
.pf-heading p{color:var(--ink-2,#5c5347);margin:0;font-size:15px}.pf-filters{display:flex;flex-wrap:wrap;gap:8px}
.pf-filter{padding:7px 14px;border:1px solid var(--ink,#26201a);border-radius:var(--radius-sm,8px);color:var(--ink,#26201a);text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap;background:var(--card,#fffdf7)}
.pf-filter-web{background:var(--mint,#b9e6a6);color:var(--on-mint,#26201a)}.pf-filter-macos{background:var(--sky,#a5dcff);color:var(--on-sky,#26201a)}.pf-filter-mobile{background:var(--sun,#ffd84d);color:var(--on-sun,#26201a)}.pf-filter-extension{background:var(--rose,#ffb9cc);color:var(--on-rose,#26201a)}
.pf-filter[aria-current]{background:var(--accent,#ff5c2b);color:var(--on-accent,#fff)}.pf-filter:hover{text-decoration:underline;text-underline-offset:4px}
.pf-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start;position:relative}
.pf-wall.pf-masonry{display:block}.pf-masonry .pf-card{position:absolute;top:0;left:0;margin:0}
.pf-card{min-width:0;border:var(--border,2px solid #26201a);border-radius:var(--radius,14px);background:var(--card,#fffdf7);box-shadow:var(--shadow,4px 4px 0 #26201a);overflow:hidden}
.pf-card-link,.pf-card-content{display:block;color:inherit;text-decoration:none!important;padding:10px}.pf-card-link:hover{color:inherit}.pf-card:has(.pf-card-link:hover){box-shadow:var(--shadow-hover,6px 6px 0 #26201a)}
.pf-card-link:focus-visible,.pf-filter:focus-visible{outline:3px solid var(--accent,#ff5c2b);outline-offset:4px}.pf-cover{position:relative;overflow:hidden;border-radius:var(--radius-sm,8px);background:var(--card-inner,#fff9ed);aspect-ratio:4/3}
.pf-ratio-1-1{aspect-ratio:1}.pf-ratio-3-4{aspect-ratio:3/4}.pf-cover img{display:block;width:100%;height:100%;max-width:100%}
.pf-card-body{padding:14px 6px 8px}.pf-card-body h2{font-family:var(--font-body,system-ui,sans-serif);font-size:20px;line-height:1.35;margin:0 0 10px;overflow-wrap:anywhere;letter-spacing:-.02em}
.pf-platforms{display:flex;flex-wrap:wrap;gap:6px}.pf-platform{display:inline-block;font-size:12px;line-height:1.5;padding:2px 8px;border:1px solid var(--ink,#26201a);border-radius:5px;color:var(--on-mint,#26201a);background:var(--mint,#b9e6a6)}
.pf-platform-macos{background:var(--sky,#a5dcff);color:var(--on-sky,#26201a)}.pf-platform-ios,.pf-platform-android{background:var(--sun,#ffd84d);color:var(--on-sun,#26201a)}.pf-platform-extension{background:var(--rose,#ffb9cc);color:var(--on-rose,#26201a)}
.pf-card-body p{font-size:14px;line-height:1.7;margin:12px 0 16px;color:var(--ink-2,#5c5347);white-space:pre-line;overflow-wrap:anywhere}
.pf-destination{display:inline-block;padding:7px 12px;background:var(--accent,#ff5c2b);color:var(--on-accent,#fff);font-size:14px;line-height:1.5;font-weight:700;border-radius:6px}.pf-empty{padding:64px 20px;text-align:center;color:var(--ink-2,#5c5347)}
.pf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.pf-heading{align-items:flex-start;flex-direction:column}.pf-wall{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pf-portfolio{padding-top:24px}.pf-wall{grid-template-columns:minmax(0,1fr)}.pf-filters{gap:7px}.pf-filter{padding:6px 10px;font-size:13px}.pf-card-body{padding:14px 8px 10px}}
