.firm-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--steel)}@supports selector(.firm-card:has(> .actions)){@media(min-width:821px){.firm-card{grid-template-columns:auto minmax(0,1fr)}.firm-card:has(>.actions){grid-template-columns:auto minmax(0,1fr) auto}}}.firm-card.is-partner{--partner-surface-warm: #3d2412;--partner-surface-mid: #321d0f;--partner-surface-cool: #271a12;border-color:#e0763ad1;background:linear-gradient(115deg,var(--partner-surface-warm) 0%,var(--partner-surface-mid) 52%,var(--partner-surface-cool) 100%);box-shadow:0 12px 30px #0000004d,inset 0 0 30px #ff9c4a14,inset 0 1px #ff9c4a6b}.firm-card .avatar{display:grid;width:54px;height:54px;place-items:center;border-radius:13px;background:linear-gradient(150deg,var(--copper),#a34d1c);color:#fff;font-family:var(--font-display);letter-spacing:.04em}.firm-card.is-partner .avatar{border:1px solid var(--copper-line);background:var(--copper);color:var(--coal);box-shadow:inset 0 1px #e9ece929}.firm-card .title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}.firm-card h3{color:var(--steam);font-family:var(--font-body);font-size:1.05rem;font-weight:600;letter-spacing:0;text-transform:none}.firm-card .partner-badge{border:1px solid #ff7777;border-radius:99px;padding:3px 9px;background:#dc3f3f;color:#000;font-size:.66rem;font-weight:700}.firm-card .anre-badge{border:1px solid var(--view-accent);border-radius:99px;padding:3px 9px;background:transparent;color:var(--view-accent);font-size:.66rem;font-weight:700}.firm-card .anre-badge.is-design{border-color:var(--line);color:var(--muted)}.firm-card .partner-banner{display:block;width:min(100%,600px);aspect-ratio:5 / 1;overflow:hidden;margin-top:8px;border:1px solid var(--copper-line);border-radius:6px;background:var(--steel-2)}.firm-card .partner-banner img{display:block;width:100%;height:100%;object-fit:cover}.firm-card .firm-meta{margin-top:3px;color:var(--muted);font-size:.82rem}.firm-card .firm-meta strong{color:#c9cfc9}.firm-card .pt-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.firm-card .pt-badge{padding:2px 7px;border:1px solid rgba(224,118,58,.34);border-radius:5px;background:#e0763a1a;color:var(--copper);font-size:.68rem;font-weight:600}.firm-card .pt-badge.featured{background:linear-gradient(120deg,var(--copper),var(--ember));color:#1c0f05}.firm-card.is-partner .pt-badge{background-color:var(--steel-2);background-image:none;color:var(--steam)}.firm-card.is-partner .pt-badge.featured{background-color:var(--copper);background-image:none;color:var(--coal)}.firm-card .phone{display:inline-block;margin-top:8px;color:var(--steam);font-size:.82rem;font-weight:600;text-decoration-color:var(--copper);text-underline-offset:3px}.firm-card a.phone{display:inline-grid;min-width:178px;margin-top:0;padding:.6rem .9rem;color:#1c0f05;font-size:.75rem;line-height:1.25;text-align:center;text-decoration:none}.firm-card a.phone strong{font-size:.82rem}.firm-card .actions{display:flex;align-items:flex-end;flex-direction:column;gap:8px}.firm-card .partner-website{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid rgba(255,156,74,.5);border-radius:8px;background:#e0763a1a;color:var(--ember);font-size:.78rem;font-weight:600;text-decoration:none}.firm-card.is-partner .partner-website{background:var(--steel-2)}.firm-card .claim{color:var(--muted);font-size:.72rem;text-underline-offset:3px}.firm-card.is-jump-target{outline:3px solid var(--ember);outline-offset:3px}.firm-card,.firm-card :where(a,button,[tabindex]){scroll-margin-top:calc(var(--app-header-h, 70px) + var(--directory-sticky-h, 88px) + 12px)}@media(max-width:820px){.firm-card{grid-template-columns:auto 1fr;align-items:start}.firm-card .actions{grid-column:2;align-items:flex-start;flex-direction:row;flex-wrap:wrap}}@media(max-width:620px){.firm-card{grid-template-columns:1fr}.firm-card,.firm-card :where(a,button,[tabindex]){scroll-margin-top:calc(var(--app-header-h, 104px) + var(--directory-sticky-h, 88px) + 12px)}.firm-card .avatar{width:46px;height:46px}.firm-card .actions{grid-column:1}.firm-card .actions .btn{width:100%;text-align:center}}
