/* Shared profile card design for homepage and internal pages. */
:is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card){display:flex;flex-direction:column;gap:0;min-block-size:0;padding:0;border:1px solid #dce3ec;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgb(11 37 69 / 5%);transition:box-shadow .2s,border-color .2s}
:is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card):hover,:is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card):focus-within{border-color:#b99a4a;box-shadow:0 14px 32px rgb(11 37 69 / 11%)}
:is(.lawj-home,.internal-page) .profile-visual{position:relative;isolation:isolate;display:flex;align-items:end;justify-content:center;block-size:156px;background:radial-gradient(ellipse at 50% 110%,#061e2c,#061e2c 75%);border-block-end:3px solid #c7a34a;overflow:hidden}
:is(.lawj-home,.internal-page) .profile-visual::after{content:"";position:absolute;inset-inline:22px;inset-block-end:-82px;block-size:220px;border:1px solid #ffffff18;border-radius:50%;z-index:-1}
:is(.lawj-home,.internal-page) .demo-tag{inset-block-start:14px;inset-inline-start:14px;padding:4px 9px;border:1px solid #ffffff38;border-radius:5px;background:#ffffff12;color:#fff;font-size:11px;font-weight:500}
:is(.lawj-home,.internal-page) .profile-emblem{position:absolute;inset-inline-end:15px;inset-block-start:16px;color:#e3c365}
:is(.lawj-home,.internal-page) .profile-emblem .lj-icon{inline-size:24px;block-size:24px}
:is(.lawj-home,.internal-page) .profile-avatar{align-self:auto;inline-size:96px;block-size:110px;border-radius:52px 52px 0 0;background:linear-gradient(150deg,#dbe5ef,#a7bdd1);border:3px solid #ffffff30;border-block-end:0}
:is(.lawj-home,.internal-page) .profile-avatar svg{fill:#54708a;opacity:1}
:is(.lawj-home,.internal-page) .profile-info{display:flex;flex-direction:column;align-self:stretch;inline-size:auto;padding:24px;flex:1}
:is(.lawj-home,.internal-page) .profile-info .profile-specialty{align-self:start;color:#76591b;background:#faf3e2;border:1px solid #eee2c3;border-radius:5px;padding:4px 9px;font-size:12px;font-weight:600;margin:0 0 12px}
:is(.lawj-home,.internal-page) .profile-info h3{font-size:22px;line-height:1.4;font-weight:800;white-space:normal;margin:0 0 10px}
:is(.lawj-home,.internal-page) .profile-info .profile-area{color:#53647b;font-size:14px;gap:6px;margin:0 0 18px}
:is(.lawj-home,.internal-page) .profile-area .lj-icon{inline-size:16px;block-size:16px}
:is(.lawj-home,.internal-page) .profile-info .profile-demo{font-size:13px;line-height:1.6;color:#64748b;border-block-start:1px solid #e9edf3;padding-block-start:14px;margin:0 0 22px}
:is(.lawj-home,.internal-page) .profile-button{justify-content:space-between;gap:12px;min-block-size:48px;font-size:15px;font-weight:600;border:1px solid var(--lj-navy);border-radius:8px;background:var(--lj-navy);color:#fff;text-decoration:none;padding:11px 14px;margin-block-start:auto;white-space:normal}
:is(.lawj-home,.internal-page) .profile-button>.lj-icon{inline-size:18px;block-size:18px}
:is(.lawj-home,.internal-page) .profile-button:hover{background:#061e2c}
.directory-grid{gap:22px;align-items:stretch}
.internal-page .directory-card{min-width:0}
:is(.lawj-home,.internal-page) .profile-visual .profile-avatar img{width:100%;height:100%;object-fit:cover}
.internal-page .profile-avatar svg{inline-size:100%;block-size:100%}
.internal-page .profile-info .profile-demo{line-height:1.75;font-size:14px}
@media(max-width:639px){:is(.lawj-home,.internal-page) .profile-visual{block-size:148px}:is(.lawj-home,.internal-page) .profile-info{padding:22px}:is(.lawj-home,.internal-page) .profile-info h3{font-size:24px}.internal-page .directory-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){:is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card){transition:none}}
/* Full-width editorial portrait for cards with a real image asset. */
:is(.lawj-home,.internal-page) .profile-visual.profile-visual-photo{block-size:240px;background:#e5e8ec;border-block-end:3px solid #c7a34a}
:is(.lawj-home,.internal-page) .profile-visual-photo::after,:is(.lawj-home,.internal-page) .profile-visual-photo .profile-emblem{display:none}
:is(.lawj-home,.internal-page) .profile-visual-photo .profile-avatar{inline-size:100%;block-size:100%;border:0;border-radius:0;background:none}
:is(.lawj-home,.internal-page) .profile-visual-photo .profile-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 10%;border-radius:0}
:is(.lawj-home,.internal-page) .profile-visual-photo .demo-tag{z-index:1;background:rgb(11 37 69 / 88%);border-color:rgb(255 255 255 / 25%);inset-block-start:12px;inset-inline-start:12px;max-inline-size:calc(100% - 24px)}
@media(max-width:639px){:is(.lawj-home,.internal-page) .profile-visual.profile-visual-photo{block-size:250px}}
/* Compact directory details while keeping the portrait and call action readable. */
.internal-page .directory-card .profile-info{padding:18px}
.internal-page .directory-card .profile-info .profile-specialty{margin-bottom:8px}
.internal-page .directory-card .profile-info h3{margin-bottom:14px}
.internal-page .directory-card .profile-info .profile-demo{padding-top:0;border-top:0;margin-bottom:14px}
.internal-page .directory-card .profile-card-phone{min-height:64px;padding:10px;margin-bottom:12px}
.lawj-home .lawyer-card .profile-info{padding:18px}
.lawj-home .lawyer-card .profile-info .profile-specialty{margin-bottom:8px}
.lawj-home .lawyer-card .profile-info h3{margin-bottom:14px}
.lawj-home .lawyer-card .profile-card-phone{min-height:64px;padding:10px;margin-bottom:12px}
/* Keep all homepage portraits aligned when some records have photographs. */
.lawj-home .lawyer-grid .profile-visual{block-size:240px}
@media(max-width:639px){.lawj-home .lawyer-grid .profile-visual{block-size:250px}}
/* Equal content spacing without reserving room for removed demo copy. */
:is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card){align-self:start}
:is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card) .profile-info{gap:12px;flex:0 0 auto;padding:18px}
:is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card) .profile-info>:is(.profile-specialty,h3,.profile-demo,.profile-card-phone,.profile-button){margin:0}
/* Center the identity and action below the portrait, with room for the arrow. */
:is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card) .profile-info .profile-specialty{align-self:center;text-align:center}
:is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card) .profile-info h3{text-align:center}
:is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card) .profile-button{position:relative;justify-content:center;text-align:center;padding-inline:40px}
:is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card) .profile-button>.lj-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%)}

/* Compact homepage cards; the full biography remains on the profile. */
.lawj-home .lawyer-grid .profile-info>.profile-demo{display:none}

/* Warm, diffuse halo for lawyer cards only; retain every existing card layout. */
:is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card,.lawj-lawyer-row){
 --lawj-lawyer-card-shadow:0 5px 16px -5px rgb(11 37 69 / 7%),0 0 12px rgb(212 175 55 / 36%);
 background:#fff;
 border-color:#edf0f3;
 box-shadow:var(--lawj-lawyer-card-shadow);
 transition:box-shadow .2s ease,transform .2s ease;
}
:is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card,.lawj-lawyer-row):is(:hover,:focus-within){
 border-color:#edf0f3;
 box-shadow:var(--lawj-lawyer-card-shadow);
}
:is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card,.lawj-lawyer-row):focus-within{
 --lawj-lawyer-card-shadow:0 8px 20px -6px rgb(11 37 69 / 10%),0 0 14px rgb(212 175 55 / 44%);
}
@media(min-width:1024px) and (hover:hover) and (pointer:fine){
 :is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card,.lawj-lawyer-row):hover{
  --lawj-lawyer-card-shadow:0 8px 20px -6px rgb(11 37 69 / 10%),0 0 14px rgb(212 175 55 / 44%);
  transform:translateY(-2px);
 }
}
@media(prefers-reduced-motion:reduce){
 :is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card,.lawj-lawyer-row),
 :is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card,.lawj-lawyer-row):hover{
  transform:none;
  transition:none;
 }
}

/* Reserve the same two-line specialty area in desktop portrait cards. */
@media(min-width:1024px){
 :is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card) .profile-info .profile-specialty{
  display:grid;place-items:center;box-sizing:border-box;block-size:46px;flex-shrink:0;
  max-inline-size:100%;padding:4px 9px;font-size:13px;line-height:18px;
 }
 :is(.lawj-home,.internal-page) :is(.lawyer-card,.directory-card) .profile-info .profile-specialty>span{
  min-inline-size:0;max-inline-size:100%;display:-webkit-box;-webkit-box-orient:vertical;
  -webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;
 }
}
