.firms-list{gap:24px;display:grid}.fcard{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-card);transition:all var(--dur-fast) var(--ease-out);grid-template-rows:auto 1fr auto;display:grid}.fcard:hover{border-color:var(--rule-soft);box-shadow:0 4px 24px oklch(0% 0 0/.05)}.fc-head{align-items:flex-start;gap:22px;padding:24px 28px;display:flex}.fc-logo{border:1px solid var(--rule);width:88px;height:88px;transition:border-color var(--dur-fast) var(--ease-out);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.fc-logo:hover{border-color:var(--ink-3)}.fc-monogram{font-family:var(--font-mono);color:#fff;text-align:center;font-size:30px;font-weight:600;line-height:1}.fc-id{flex:1;min-width:0}.fc-name{font-family:"Fraunces", var(--font-display);letter-spacing:-.018em;color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:12px;margin:0;font-size:32px;font-weight:400;line-height:1.05;display:flex}.fc-badge{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:4px 8px;font-size:10px;font-weight:500}.fc-badge--primary{color:var(--accent);border:1px solid var(--accent);background:var(--accent-bg)}.fc-badge--warn{color:oklch(46% .14 72);background:oklch(84% .16 72/.1);border:1px solid oklch(65% .14 72)}.fc-meta{font-family:var(--font-mono);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:11.5px;display:flex}.fc-meta-sep{color:var(--ink-4)}.fc-body{gap:20px;padding:24px 28px;display:grid}.ov-grid{background:var(--rule);border-radius:4px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.ov-cell{background:var(--paper);text-align:center;padding:16px 12px}.ov-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-bottom:4px;font-size:9.5px}.ov-value{font-family:var(--font-ui);color:var(--ink);margin-bottom:2px;font-size:14px;font-weight:600}.ov-sub{font-family:var(--font-ui);color:var(--ink-3);font-size:11px;line-height:1.3}.summary{font-family:var(--font-ui);color:var(--ink-2);font-size:15px;line-height:1.65}.summary strong{color:var(--ink);font-weight:600}.section-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-bottom:-4px;font-size:9.5px}.sector-chips{flex-wrap:wrap;gap:8px;display:flex}.sector-chip{font-family:var(--font-mono);background:var(--paper-2);color:var(--ink-2);border:1px solid var(--rule);transition:all var(--dur-fast) var(--ease-out);cursor:default;border-radius:2px;padding:5px 10px;font-size:11px}.sector-chip:hover{border-color:var(--ink-3);color:var(--ink);transform:translateY(-1px)}.sector-chip--strong{background:var(--accent-bg);color:var(--accent);border-color:var(--accent)}.sector-chip--strong:hover{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.fc-foot{background:var(--paper-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 28px;display:flex}.fc-feats{flex-wrap:wrap;gap:12px;display:flex}.fc-feat{font-family:var(--font-ui);align-items:center;gap:6px;font-size:12px;display:flex}.fc-feat:before{content:"";border-radius:50%;flex-shrink:0;width:6px;height:6px}.fc-feat--supported{color:var(--ink-2)}.fc-feat--supported:before{background:var(--accent)}.fc-feat--unsupported{color:var(--ink-4);text-decoration:line-through}.fc-feat--unsupported:before{background:var(--ink-4)}.fc-actions{flex-wrap:wrap;gap:16px;display:flex}.fc-action{font-family:var(--font-ui);color:var(--accent);transition:gap var(--dur-fast) var(--ease-out);align-items:center;gap:5px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.fc-action:hover{gap:8px}.fc-action-arrow{font-family:var(--font-mono);transition:transform var(--dur-fast) var(--ease-out)}@media (max-width:720px){.fc-head{gap:16px;padding:18px}.fc-logo{width:64px;height:64px}.fc-monogram{font-size:22px}.fc-name{font-size:24px}.fc-body{padding:18px}.ov-grid{grid-template-columns:repeat(2,1fr)}.fc-foot{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 18px}.fc-actions{justify-content:flex-end;align-self:stretch}}
