body.psad-trust-system .psad-firm-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; width:100%; }
body.psad-trust-system .psad-firm-card { min-width:0; margin:0; padding:16px; border:1px solid #e8e1f2; border-radius:18px; background:#fff; box-shadow:0 6px 22px #35009906; display:flex; flex-direction:column; gap:12px; transition:border-color .15s,box-shadow .15s; }
body.psad-trust-system .psad-firm-card:hover { border-color:#c6b2e7; box-shadow:0 8px 24px #3500990c; }
body.psad-trust-system .psad-firm-head { display:flex; align-items:center; gap:14px; min-height:56px; }
body.psad-trust-system .psad-firm-logo { display:flex; align-items:center; justify-content:center; flex:0 0 76px; height:56px; padding:5px; border:1px solid #eee9f5; border-radius:10px; background:#fff; overflow:hidden; }
body.psad-trust-system .psad-firm-logo img { display:block!important; width:100%!important; height:100%!important; max-width:100%; object-fit:contain!important; border-radius:0!important; margin:0!important; }
body.psad-trust-system .psad-firm-card .psad-firm-name { min-width:0; margin:0!important; color:#350099!important; font-family:inherit!important; font-size:17px!important; line-height:1.35!important; font-weight:700!important; overflow-wrap:anywhere; }
body.psad-trust-system .psad-firm-card .psad-firm-description { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; height:63px; margin:0!important; color:#655d70; font-size:14px!important; line-height:21px!important; }
body.psad-trust-system .psad-firm-footer { margin-top:auto; padding-top:12px; border-top:1px solid #f0ebf5; display:flex; align-items:center; justify-content:space-between; gap:12px; }
body.psad-trust-system .psad-firm-card .psad-firm-jurisdiction { min-width:0; margin:0!important; font-size:13px; line-height:1.4; }
body.psad-trust-system .psad-firm-jurisdiction span { display:block; margin-bottom:4px; color:#8a8096; font-size:9px; font-weight:700; letter-spacing:.09em; }
body.psad-trust-system .psad-firm-jurisdiction strong { color:#43354f; font-size:13px; font-weight:600; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
body.psad-trust-system .psad-firm-website { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; gap:7px; min-height:40px; padding:8px 12px; border:1px solid #e9e1f4; border-radius:10px; background:#f8f5fc; color:#350099!important; text-decoration:none!important; font-size:12px; font-weight:700; }
body.psad-trust-system .psad-firm-website:focus-visible { outline:3px solid #ff9e00; outline-offset:3px; }
/* Override the legacy page's larger paragraph rules only inside directory cards. */
body.psad-trust-system.page-id-197 .ps-la-elegance .psad-firm-card p.psad-firm-description { display:-webkit-box!important; -webkit-box-orient:vertical!important; -webkit-line-clamp:3!important; overflow:hidden!important; height:60px; margin:0!important; font-size:14px!important; line-height:20px!important; }
body.psad-trust-system.page-id-197 .ps-la-elegance .psad-firm-card p.psad-firm-jurisdiction { margin:0!important; font-size:13px!important; line-height:1.4!important; }
@media(max-width:1100px) { body.psad-trust-system .psad-firm-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { body.psad-trust-system .psad-firm-grid { grid-template-columns:1fr; gap:12px; } body.psad-trust-system .psad-firm-card { padding:17px; } }
