.pf{padding:var(--section-padding) 0}.pf__filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px;margin-bottom:40px}.pf__filter-btn{padding:8px 20px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);background:transparent;color:var(--color-text-secondary);font-family:var(--font-heading);font-size:.85rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .3s ease;min-height:44px;display:inline-flex;align-items:center}.pf__filter-btn:hover{border-color:#ffffff4d;color:#fff}.pf__filter-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.pf__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;transition:opacity .2s ease,transform .2s ease}.pf__grid--animating{opacity:0;transform:scale(.95)}.pf__grid--visible{opacity:1;transform:scale(1)}.pf__grid--visible .pf__card-link{animation:pf-card-in .3s ease both}@keyframes pf-card-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.pf__card-link{display:block;text-decoration:none;color:inherit;border-radius:var(--radius);outline-offset:4px}.pf__card-link:focus-visible{outline:2px solid var(--color-accent)}.pf__card{height:100%}.pf__card-image{position:relative;aspect-ratio:4 / 3;display:flex;align-items:flex-end;padding:24px;overflow:hidden}.pf__card-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.pf__card-link:hover .pf__card-image img{transform:scale(1.05)}.pf__card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.3) 40%,transparent 70%);pointer-events:none;z-index:1}.pf__card-placeholder{position:absolute;inset:0;background:linear-gradient(135deg,#1a1a2a,#0d0d1a)}.pf__card-overlay{position:absolute;inset:0;overflow:hidden}.pf__card-diagonal{position:absolute;top:0;right:0;width:100%;height:100%;background:var(--color-accent);opacity:.1;clip-path:polygon(70% 0,100% 0,100% 40%);transition:opacity var(--transition-normal),clip-path var(--transition-normal)}.pf__card-link:hover .pf__card-diagonal{opacity:.2;clip-path:polygon(60% 0,100% 0,100% 50%)}.pf__card-content{position:relative;z-index:2;display:flex;flex-direction:column;gap:8px;transform:translateY(4px);transition:transform .3s ease}.pf__card-link:hover .pf__card-content{transform:translateY(0)}.pf__card-brand{display:inline-block;width:fit-content;font-size:.75rem;color:#fff;text-transform:uppercase;letter-spacing:3px;font-weight:600;background:var(--color-accent);padding:3px 10px;border-radius:var(--radius)}.pf__card-name{font-family:var(--font-heading);font-size:1.4rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5)}.pf__card-desc{font-size:1rem;color:var(--color-text-secondary);line-height:1.5;max-width:90%}.pf__card-cta{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-heading);font-size:.75rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-accent);margin-top:4px;opacity:0;transform:translate(-8px);transition:opacity .3s ease,transform .3s ease}.pf__card-link:hover .pf__card-cta{opacity:1;transform:translate(0)}.pf__empty{text-align:center;color:var(--color-text-secondary);padding:60px 0;font-size:1rem}@media(prefers-reduced-motion:reduce){.pf__grid--animating{opacity:1;transform:none}.pf__grid--visible .pf__card-link{animation:none}.pf__card-link:hover .pf__card-image img,.pf__card-content{transform:none}.pf__card-cta{opacity:1;transform:none}}@media(hover:none){.pf__card-cta{opacity:1;transform:translateY(0)}.pf__card-content{transform:translateY(0)}}@media(max-width:968px){.pf{padding:var(--section-padding-mobile) 0}.pf__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.pf__grid{grid-template-columns:1fr}.pf__filters{gap:6px}}.pf__pagination{display:flex;justify-content:center;gap:10px;margin-top:32px;padding:8px 0}.pf__pagination[hidden]{display:none}.pf-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--color-border, rgba(255,255,255,.2));background:transparent;padding:0;cursor:pointer;transition:all .25s ease}.pf-dot:hover{border-color:var(--color-accent, #e31e24);transform:scale(1.15)}.pf-dot--active{background:var(--color-accent, #e31e24);border-color:var(--color-accent, #e31e24);width:28px;border-radius:6px}
