.pc-card{--pc-bar:var(--accent);position:relative;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--bg-elevated);transition:border-color .18s,transform .18s var(--ease-out),box-shadow .18s}.pc-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--pc-bar);border-radius:var(--r-lg) 0 0 var(--r-lg)}.pc-card[data-tone=green]{--pc-bar:oklch(0.62 0.16 159)}.pc-card[data-tone=gold]{--pc-bar:oklch(0.74 0.15 78)}.pc-card[data-tone=teal]{--pc-bar:oklch(0.60 0.11 214)}@media (hover:hover) and (pointer:fine){.pc-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow)}}.pc-card:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.pc-body{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4) var(--s-5) var(--s-4) calc(var(--s-5) + 4px);flex:1}.pc-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--s-1)}.pc-kicker,.pc-tag{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:700;line-height:1;padding:5px 9px;border-radius:6px}.pc-kicker{color:var(--accent-on-fill);background:var(--accent-fill);letter-spacing:.02em}.pc-tag{color:var(--text);background:var(--bg-subtle,oklch(.5 .02 200/.1));border:1px solid var(--border);font-weight:600;text-transform:lowercase}.pc-title{font-family:var(--font-portal),"Fira Sans",sans-serif;font-size:var(--text-xl);font-weight:700;color:var(--text-strong);line-height:1.22;letter-spacing:-.01em}.pc-excerpt{font-size:var(--text-sm);color:var(--text);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pc-meta{margin-top:auto;padding-top:var(--s-3);border-top:1px solid var(--border);display:flex;align-items:center;gap:var(--s-3);font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.pc-cta,.pc-pilar{font-weight:700;color:var(--accent)}.pc-cta{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:var(--text-sm);transition:gap .18s var(--ease-out)}@media (hover:hover) and (pointer:fine){.pc-card:hover .pc-cta{gap:9px}}