.lfa-legal{background:#f5f7fb;color:#293b54;min-height:74vh;padding:24px 12px 55px;font:14px/1.75 -apple-system,BlinkMacSystemFont,"Microsoft YaHei",sans-serif}
.lfa-legal *{box-sizing:border-box}.lfa-legal a{color:#2673af;text-decoration:none}.lfa-legal a:hover{text-decoration:underline}
.lfa-legal-wrap{max-width:1170px;margin:auto}.lfa-legal-crumb{position:relative;z-index:200;isolation:isolate;margin-bottom:17px;color:#8491a2;font-size:13px}.lfa-legal-crumb a{position:relative;z-index:201;pointer-events:auto!important}
.lfa-legal-card{background:#fff;padding:30px 34px;border:1px solid #e3eaf2;border-radius:12px}
.lfa-legal h1{font-size:26px;color:#243c53;margin:5px 0 15px}.lfa-legal h2{font-size:19px;margin:28px 0 14px;border-bottom:1px solid #e9eef5;padding-bottom:10px}.lfa-legal .sub{color:#8493a4;font-size:13px}
.lfa-legal-tabs{display:flex;gap:12px;margin:22px 0}.lfa-legal-tabs a{display:inline-block;padding:9px 18px;background:#eef5fb;border-radius:7px}
.lfa-legal-search{display:flex;gap:8px;margin:24px 0}.lfa-legal-search input{border:1px solid #cfdce8;border-radius:6px;padding:11px 12px;font-size:14px;min-width:150px;flex:1}.lfa-legal-search button{border:0;background:#286da5;color:#fff;border-radius:6px;padding:10px 25px}
.lfa-legal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:21px}
.lfa-legal-item{display:flex;flex-direction:column;gap:8px;border:1px solid #e0eaf2;border-radius:9px;padding:18px;min-width:0}
.lfa-legal-item:hover{background:#f8fbff;border-color:#a1bfdf}.lfa-legal-item strong{font-size:16px;color:#2a3b4d;overflow-wrap:anywhere}.lfa-legal-item small{font-size:12px;color:#8393a3}.lfa-legal-item span{font-size:12px}
.lfa-legal-pages{display:flex;gap:10px;justify-content:center;margin:23px auto}.lfa-legal-pages a{padding:7px 13px;border:1px solid #d7e5f1;border-radius:5px}.lfa-legal-pages a[aria-current=page]{color:#fff;background:#286da5}
.lfa-legal-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lfa-legal-info>div{background:#f5f8fb;border-radius:7px;padding:13px}
.lfa-legal-info span{display:block;font-size:12px;color:#8393a4}.lfa-legal-info strong{font-size:14px;overflow-wrap:anywhere}.lfa-legal-badge{background:#edf4fb;color:#286da5;border-radius:4px;padding:4px 9px;font-size:12px}.lfa-legal-description{white-space:normal;line-height:1.9;overflow-wrap:anywhere}.lfa-legal-empty{padding:32px;text-align:center;color:#8999aa}
@media(max-width:660px){.lfa-legal{padding:12px 8px}.lfa-legal-card{padding:19px 15px}.lfa-legal-grid{grid-template-columns:1fr 1fr;gap:8px}.lfa-legal-item{padding:12px}.lfa-legal-info{grid-template-columns:1fr}.lfa-legal h1{font-size:21px}}

/* Official portraits are optimized and served from LFA; never hotlink 12348. */
.lfa-legal-portrait{display:block;width:90px;height:112px;object-fit:cover;object-position:center 20%;border-radius:7px;background:#eff4fa;flex-shrink:0}
.lfa-legal-firm-logo{width:90px;height:90px;object-fit:contain;background:#fff;border:1px solid #e7edf5}
.lfa-legal-profile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:12px}
.lfa-legal-profile-picture{width:130px;height:169px}
.lfa-legal-profile-picture.lfa-legal-firm-logo{height:130px}
@media(max-width:660px){.lfa-legal-profile-picture{width:100px;height:130px}
.lfa-legal-profile-picture.lfa-legal-firm-logo{width:100px;height:100px}
.lfa-legal-item .lfa-legal-portrait{width:72px;height:90px}}

/* LFA lawyer directory and profile: portrait on the left, information on the right. */
.lfa-legal-grid.lfa-legal-lawyer-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:18px;
  row-gap:16px;
}
.lfa-legal-grid .lfa-legal-lawyer-item{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  align-items:start;
  gap:16px;
  min-height:158px;
  padding:18px;
  background:#fff;
  border:1px solid #e3eaf2;
  border-radius:10px;
  color:inherit;
  box-shadow:0 1px 3px rgba(30,65,100,.025);
  transition:box-shadow .18s,border-color .18s;
}
.lfa-legal-grid .lfa-legal-lawyer-item:hover,
.lfa-legal-grid .lfa-legal-lawyer-item:focus-visible{
  border-color:#a6c5e1;
  box-shadow:0 6px 20px rgba(35,89,138,.10);
  text-decoration:none;
}
.lfa-legal-grid .lfa-legal-lawyer-item .lfa-legal-portrait,
.lfa-legal-grid .lfa-legal-lawyer-item .lfa-legal-photo-empty{
  width:90px;
  height:118px;
  grid-column:1;
  grid-row:1;
  margin:0;
  border-radius:7px;
}
.lfa-legal-photo-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  width:90px;
  height:118px;
  color:#97a4b4;
  background:linear-gradient(155deg,#eff3f8,#e3eaf3);
  border:1px solid #e0e7ef;
  font-size:12px;
  font-weight:400;
  letter-spacing:.04em;
}
.lfa-legal-grid .lfa-legal-item-body{
  min-width:0;
  grid-column:2;
  grid-row:1;
  display:flex;
  flex-direction:column;
  gap:8px;
  align-self:stretch;
}
.lfa-legal-grid .lfa-legal-item-body strong{
  display:block;
  margin:0;
  font-size:18px;
  font-weight:650;
  line-height:1.4;
  color:#253e56;
}
.lfa-legal-grid .lfa-legal-item-body small{
  display:block;
  margin:0;
  font-size:13px;
  line-height:1.65;
  font-weight:400;
  overflow-wrap:anywhere;
}
.lfa-legal-grid .lfa-legal-item-body .lfa-legal-firm-text{
  color:#627891;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.lfa-legal-grid .lfa-legal-item-body .lfa-legal-number{
  color:#8b98a8;
  font-size:12px;
}
.lfa-legal-grid .lfa-legal-item-body .lfa-legal-more{
  display:block;
  margin-top:auto;
  padding-top:6px;
  color:#2373aa;
  font-size:13px;
}
.lfa-legal-profile-top.lfa-legal-profile-lawyer{
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  align-items:start;
  justify-content:initial;
  gap:30px;
  padding:7px 0 24px;
  margin-bottom:8px;
  border-bottom:1px solid #edf1f6;
}
.lfa-legal-profile-lawyer .lfa-legal-profile-picture{
  width:160px;
  height:208px;
  border-radius:10px;
  border:1px solid #e1e8f2;
  box-shadow:0 5px 16px rgba(37,68,100,.09);
  object-fit:cover;
  object-position:center 20%;
}
.lfa-legal-profile-lawyer .lfa-legal-photo-empty.lfa-legal-profile-picture{
  display:flex;
  box-shadow:none;
  font-size:13px;
}
.lfa-legal-profile-body{min-width:0}
.lfa-legal-profile-body h1{
  font-size:29px;
  line-height:1.4;
  font-weight:700;
  margin:12px 0 11px;
  color:#21394f;
}
.lfa-legal-profile-firm{
  font-size:15px;
  line-height:1.7;
  color:#6f8194;
  margin:0 0 18px;
  overflow-wrap:anywhere;
}
.lfa-legal-profile-firm a{
  font-weight:500;
  color:#2978ad;
}
.lfa-legal-profile-info{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.lfa-legal-profile-info>div{
  min-width:0;
  padding:12px 15px;
  border-radius:7px;
}
.lfa-legal-profile-info strong{
  font-weight:500;
  overflow-wrap:anywhere;
}
@media(max-width:900px){
  .lfa-legal-grid.lfa-legal-lawyer-grid{
    grid-template-columns:repeat(1,minmax(0,1fr));
  }
}
@media(max-width:660px){
  .lfa-legal-grid .lfa-legal-lawyer-item{
    grid-template-columns:76px minmax(0,1fr);
    min-height:125px;
    gap:13px;
    padding:12px;
  }
  .lfa-legal-grid .lfa-legal-lawyer-item .lfa-legal-portrait,
  .lfa-legal-grid .lfa-legal-lawyer-item .lfa-legal-photo-empty{
    width:76px;
    height:100px;
  }
  .lfa-legal-grid .lfa-legal-item-body{
    gap:5px;
  }
  .lfa-legal-grid .lfa-legal-item-body strong{
    font-size:16px;
  }
  .lfa-legal-grid .lfa-legal-item-body small{
    font-size:12px;
  }
  .lfa-legal-grid .lfa-legal-item-body .lfa-legal-more{
    padding-top:2px;
  }
  .lfa-legal-profile-top.lfa-legal-profile-lawyer{
    grid-template-columns:98px minmax(0,1fr);
    gap:15px;
    padding-top:3px;
    padding-bottom:18px;
  }
  .lfa-legal-profile-lawyer .lfa-legal-profile-picture{
    width:98px;
    height:130px;
  }
  .lfa-legal-profile-body h1{
    font-size:22px;
    margin:9px 0 6px;
  }
  .lfa-legal-profile-firm{
    font-size:12px;
    margin-bottom:11px;
  }
  .lfa-legal-profile-info{
    grid-template-columns:1fr;
    gap:6px;
  }
  .lfa-legal-profile-info>div{
    padding:8px 10px;
  }
  .lfa-legal-profile-info span{font-size:11px}
  .lfa-legal-profile-info strong{font-size:12px}
}

/* Uniform firm cards: image/first letter left, name and facts right. */
.lfa-legal .lfa-legal-firm-item{
  display:grid;
  grid-template-columns:66px minmax(0,1fr);
  gap:13px;
  align-items:start;
  min-height:120px;
  padding:16px;
}
.lfa-legal .lfa-legal-firm-item .lfa-legal-firm-logo{
  width:66px;
  height:66px;
  object-fit:contain;
  border-radius:9px;
  margin:0;
  grid-column:1;
}
.lfa-legal-initial{
  width:66px;
  height:66px;
  flex:0 0 66px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #e3edf6;
  border-radius:9px;
  background:linear-gradient(155deg,#edf5fd,#dceaf7);
  color:#2c72a5;
  font-family:"Microsoft YaHei","PingFang SC",sans-serif;
  font-size:27px!important;
  font-weight:700;
  line-height:1;
  text-align:center;
}
.lfa-legal .lfa-legal-firm-item-content{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:6px;
  grid-column:2;
  align-self:stretch;
}
.lfa-legal .lfa-legal-firm-item-content strong{
  font-size:15px;
  line-height:1.5;
  font-weight:600;
  overflow-wrap:anywhere;
}
.lfa-legal .lfa-legal-firm-item-content small{
  font-size:12px;
  color:#8796a6;
  line-height:1.6;
}
.lfa-legal .lfa-legal-firm-item-content>span{
  font-size:12px;
  color:#2876af;
  margin-top:auto;
}
.lfa-legal .lfa-legal-profile-firm{
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  align-items:start;
  justify-content:initial;
  gap:25px;
}
.lfa-legal .lfa-legal-firm-profile-initial{
  width:130px;
  height:130px;
  font-size:48px!important;
  border-radius:11px;
}
.lfa-legal .lfa-legal-profile-firm>.lfa-legal-firm-logo{
  width:130px;
  height:130px;
}
.lfa-legal .lfa-legal-profile-firm>div{min-width:0}
.lfa-legal .lfa-legal-profile-firm h1{overflow-wrap:anywhere}
@media(max-width:660px){
  .lfa-legal .lfa-legal-firm-item{grid-template-columns:56px minmax(0,1fr);gap:9px;padding:11px}
  .lfa-legal .lfa-legal-firm-item .lfa-legal-firm-logo,
  .lfa-legal .lfa-legal-firm-item .lfa-legal-firm-initial{width:56px;height:56px}
  .lfa-legal .lfa-legal-firm-initial{font-size:24px!important}
  .lfa-legal .lfa-legal-firm-item-content strong{font-size:13px}
  .lfa-legal .lfa-legal-firm-item-content small{font-size:11px}
  .lfa-legal .lfa-legal-profile-firm{grid-template-columns:88px minmax(0,1fr);gap:14px}
  .lfa-legal .lfa-legal-profile-firm>.lfa-legal-firm-logo,
  .lfa-legal .lfa-legal-firm-profile-initial{width:88px;height:88px}
  .lfa-legal .lfa-legal-firm-profile-initial{font-size:36px!important}
}
