.directory-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}
.sidebar-card{position:sticky;top:112px}
.sidebar-card h3{margin:0 0 10px;font-size:24px;letter-spacing:-.03em;color:#17304f}
.sidebar-card h4{margin:0 0 10px;font-size:18px;color:#17304f}
.sidebar-card p,.sidebar-card li{color:var(--muted);line-height:1.7}
.sidebar-card ul{padding-left:18px;margin:0}
.results-stack{display:grid;gap:18px}
.result-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:start;padding:18px;background:#fff}
.result-logo,.listing-logo{border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#f8fbfe 0%,#f2f6fb 100%);display:grid;place-items:center;overflow:hidden;min-height:130px}
.result-logo img,.listing-logo img{width:100%;height:100%;object-fit:cover}
.result-logo-empty,.listing-logo-empty{padding:18px;text-align:center;color:#7b8796;font-weight:700;font-size:13px}
.result-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.result-title{margin:0;font-size:28px;line-height:1.08;letter-spacing:-.04em;color:#17304f}
.result-subtitle{margin:8px 0 0;color:#43556b;font-weight:800}
.result-summary{margin:12px 0 0;color:var(--muted);line-height:1.75}
.result-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.listing-card{padding:18px;background:#fff;border:1px solid var(--line);border-radius:18px;display:grid;gap:14px}
.listing-body h3{margin:0;font-size:22px;letter-spacing:-.03em;color:#17304f}
.listing-body p{margin:10px 0 0;color:var(--muted);line-height:1.7}
.breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px;color:#607085;font-size:13px;font-weight:700}
.breadcrumbs a{text-decoration:none;color:var(--primary)}
.firm-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:22px;align-items:start}
.firm-sidebar{display:grid;gap:18px}
.firm-cover{border:1px solid var(--line);border-radius:18px;background:#f6f9fd;overflow:hidden;min-height:220px;display:grid;place-items:center}
.firm-cover img{width:100%;height:100%;object-fit:cover}
.firm-cover-empty{padding:24px;text-align:center;color:#758396;font-weight:700;line-height:1.7}
.contact-list{display:grid;gap:10px}
.contact-list a,.contact-list div{padding:12px 14px;border-radius:12px;background:var(--panel-soft);border:1px solid var(--line);text-decoration:none;color:#304255;font-weight:700}
.content-html{padding:22px;border-radius:18px;border:1px solid var(--line);background:#fff;overflow:auto}
.content-html h1,.content-html h2,.content-html h3{color:#17304f}
.content-html p,.content-html li{color:#475569;line-height:1.8}


.directory-join-layout{align-items:start}
.directory-join-right{min-width:0}
.directory-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.directory-offer-card{display:flex;flex-direction:column;justify-content:space-between;min-height:100%;border:1px solid var(--line);transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease}
.directory-offer-card.is-selected{border:2px solid #2563eb;box-shadow:0 18px 40px rgba(37,99,235,.16)}
.directory-offer-card .directory-offer-btn{pointer-events:none}
.directory-selected-summary{border:1px solid var(--line)}
#signup-form{scroll-margin-top:120px}
@media (max-width:1100px){.directory-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.directory-offer-grid{grid-template-columns:1fr}}
