.fc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}.fc-grid>li{display:flex;min-width:0}@media(max-width:1100px){.fc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.fc-grid{grid-template-columns:minmax(0,1fr)}}.fc{position:relative;display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden;border:1px solid var(--bp-line);border-radius:10px;background:#fff;box-shadow:0 1px 2px #0a24630d;transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}.fc:hover{border-color:var(--bp-line-strong);box-shadow:0 10px 28px #0a24631f}.fc:has(.fc-name a:focus-visible){outline:3px solid var(--bp-sky);outline-offset:2px}.fc[data-kind=featured]{border-color:#e9cf86}.fc-media{display:block;aspect-ratio:16 / 10;overflow:hidden;background:var(--bp-pale)}.fc-media>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.fc:hover .fc-media>img{transform:scale(1.03)}.fc-media-empty{display:grid;place-items:center;width:100%;height:100%;font:800 56px/1 var(--bp-display)}.fc-media-empty img{width:40%;height:auto;max-height:70%;object-fit:contain}@media(prefers-reduced-motion:reduce){.fc,.fc-media>img{transition:none}.fc:hover .fc-media>img{transform:none}}.fc-label{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:5px;margin:0;padding:5px 10px;border-radius:999px;font:800 11.5px/1.2 var(--bp-display);letter-spacing:.06em;text-transform:uppercase;box-shadow:0 2px 8px #071a4a40}.fc-label[data-kind=sample]{background:#071a4ae0;color:#fff}.fc-label[data-kind=featured]{background:var(--bp-gold);color:var(--bp-navy)}.fc-label svg{width:12px;height:12px;fill:currentColor}.fc-body{display:flex;flex-direction:column;flex:1;gap:10px;padding:0 18px 18px}.fc-id{display:flex;align-items:flex-start;gap:12px;margin-top:10px}.fc-logo{position:relative;margin-top:-40px;display:grid;place-items:center;flex:none;width:60px;height:60px;overflow:hidden;border:3px solid #fff;border-radius:12px;background:#fff;box-shadow:0 2px 10px #0a246329;font:800 26px/1 var(--bp-display)}.fc-logo img{width:100%;height:100%;object-fit:contain}.fc-idtext{min-width:0;padding-top:1px}.fc-name{margin:0;font:800 17.5px/1.25 var(--bp-display);letter-spacing:-.01em;color:var(--bp-navy);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.fc-name a{color:inherit;text-decoration:none}.fc-name a:hover{color:var(--bp-blue)}.fc-name a:focus-visible{outline:none}.fc-meta{margin:3px 0 0;color:var(--bp-muted);font:500 13.5px/1.35 var(--bp-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-rating{display:flex;align-items:center;gap:6px;margin:0;font-size:13.5px;color:var(--bp-text)}.fc-stars{position:relative;display:inline-block;font-size:14px;line-height:1;letter-spacing:1px;color:#c9d4e5}.fc-stars:after{content:"★★★★★";position:absolute;inset:0 auto 0 0;width:var(--pct);overflow:hidden;color:var(--bp-blue);white-space:nowrap}.fc-lead{margin:0;color:#2d3748;font:400 14.5px/1.5 var(--bp-body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-wrap:pretty}.fc-chips{display:flex;flex-wrap:wrap;gap:6px;height:26px;margin:0;padding:0;overflow:hidden;list-style:none}.fc-chips li{flex:none;max-width:100%;height:26px;padding:0 10px;border-radius:999px;overflow:hidden;background:var(--bp-pale);color:var(--bp-blue-deep);font:600 12.5px/26px var(--bp-body);white-space:nowrap;text-overflow:ellipsis}.fc-actions{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:8px;margin-top:auto;padding-top:4px}.fc-btn{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 10px;border:1px solid var(--bp-line-strong);border-radius:6px;background:#fff;color:var(--bp-navy);font:700 14px/1 var(--bp-display);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-btn:hover{border-color:var(--bp-blue);color:var(--bp-navy);text-decoration:none}.fc-btn:focus-visible{outline:3px solid var(--bp-sky);outline-offset:2px}.fc-btn-primary{border-color:var(--bp-blue);background:var(--bp-blue);color:#fff}.fc-btn-primary:hover{border-color:var(--bp-blue-deep);background:var(--bp-blue-deep);color:#fff}@media(pointer:coarse){.fc-btn{height:46px}}@media(forced-colors:active){.fc-label{border:1px solid CanvasText}}
