/* This gallery is deliberately scoped to the separate Avocats page. */
.lawyers-page .lawyers-intro {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  align-items: end;
  gap: 70px;
  padding-block: 76px 68px;
}
.lawyers-page .lawyers-intro h1 { max-width: 750px; }
.lawyers-page .lawyers-intro > p {
  max-width: 510px;
  padding-bottom: 8px;
  font-size: 21px;
  line-height: 1.65;
  color: var(--slate);
}
.lawyers-page .lawyers-directory {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  grid-template-rows: minmax(var(--team-directory-row-height, 0px), auto);
  align-items: start;
  gap: 52px;
  padding-bottom: 112px;
  overflow-anchor: none;
}
.lawyers-page .lawyers-gallery { min-width: 0; }
.lawyers-page .team-tabs.portrait-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 44px 25px;
  border: 0;
}
.lawyers-page .team-tabs .lawyer-choice,
.lawyers-page .team-tabs .lawyer-choice:hover,
.lawyers-page .team-tabs .lawyer-choice[aria-selected='true'] {
  display: block;
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0 0 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.lawyers-page .team-tabs .lawyer-choice::before {
  content: '';
  position: absolute;
  inset: auto 0 0;
  width: 100%;
  height: 3px;
  background: var(--blue);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .24s ease;
}
.lawyers-page .team-tabs .lawyer-choice[aria-selected='true']::before { transform: scaleX(1); }
.lawyers-page .team-tabs .lawyer-choice:focus-visible {
  outline: 3px solid var(--blue-dark);
  outline-offset: 8px;
}
.lawyers-page .team-tabs .lawyer-portrait-frame {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  margin: 0;
  overflow: hidden;
  background: var(--mist);
}
.lawyers-page .lawyer-portrait-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  border-radius: 0;
  transition: transform .42s cubic-bezier(.2, .65, .3, 1);
}
.lawyers-page .team-tabs .lawyer-caption {
  display: block;
  margin: 18px 0 0;
}
.lawyers-page .team-tabs .lawyer-name {
  display: block;
  margin: 0;
  font: 400 clamp(27px, 2.2vw, 33px)/1.16 var(--serif);
  letter-spacing: -.025em;
  color: inherit;
  transition: color .2s;
}
.lawyers-page .team-tabs .lawyer-caption-role {
  display: block;
  margin: 8px 0 0;
  font: 400 15px/1.4 var(--sans);
  letter-spacing: 0;
  color: var(--slate);
}
.lawyers-page .team-tabs .lawyer-choice[aria-selected='true'] .lawyer-name { color: var(--blue-dark); }
.lawyers-page .team-preview {
  display: block;
  position: static;
  align-self: start;
  min-width: 0;
  min-height: var(--team-panel-height, 0px);
  margin: 0;
  margin-top: var(--team-panel-offset, 0px);
  padding: 8px 0 0 35px;
  border: 0;
  border-left: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}
.lawyers-page .team-preview-copy > #team-role {
  margin-bottom: 16px;
  color: var(--blue-dark);
  font-size: 17px;
  line-height: 1.5;
}
.lawyers-page .team-preview #team-name {
  margin-bottom: 26px;
  font: 400 clamp(36px, 3.1vw, 46px)/1.13 var(--serif);
  letter-spacing: -.03em;
  overflow-wrap: normal;
}
.lawyers-page .team-preview-copy > #team-summary {
  color: var(--slate);
  font-size: 18px;
  line-height: 1.7;
}
.lawyers-page .team-preview-phone {
  display: grid;
  gap: 6px;
  margin-top: 25px;
}
.lawyers-page .team-preview-phone > span {
  color: var(--slate);
  font: 400 14px/1.5 var(--sans);
}
.lawyers-page .team-preview-phone > a {
  width: fit-content;
  color: var(--blue-dark);
  font: 500 22px/1.4 var(--sans);
  white-space: nowrap;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.lawyers-page .team-preview-phone > a:hover { color: var(--ink); }
.lawyers-page .preview-domains-title {
  margin-top: 30px;
  font: 500 15px/1.4 var(--sans);
  letter-spacing: 0;
  color: var(--ink);
}
.lawyers-page .team-preview .domain-tags {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 14px;
}
.lawyers-page .team-preview .domain-tags span {
  font-size: 16px;
  line-height: 1.4;
  color: var(--slate);
}
.lawyers-page .team-preview-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-top: 32px;
}
.lawyers-page .team-preview-actions > a,
.lawyers-page .team-preview-actions > button { max-width: 100%; }
.lawyers-page .lawyers-direct-links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 25px;
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.lawyers-page .lawyers-direct-links p { flex-basis: 100%; }
.lawyers-page .lawyers-direct-links a {
  color: var(--blue-dark);
  text-decoration: underline;
  text-underline-offset: 5px;
}
@media (hover: hover) {
  /* Keep the portrait hover active when the pointer moves onto its sibling + button. */
  .lawyers-page .team-tabs .lawyer-gallery-item:hover .lawyer-portrait-frame img { transform: scale(1.025); }
  .lawyers-page .team-tabs .lawyer-gallery-item:hover .lawyer-name { color: var(--blue-dark); }
}
@media (max-width: 1180px) {
  .lawyers-page .lawyers-intro { gap: 45px; }
  .lawyers-page .lawyers-directory { grid-template-columns: minmax(0, 1.9fr) minmax(260px, 1fr); gap: 32px; }
  .lawyers-page .team-tabs.portrait-tabs { gap: 36px 20px; }
  .lawyers-page .team-tabs .lawyer-name { font-size: 27px; }
  .lawyers-page .team-preview { padding-left: 25px; }
  .lawyers-page .team-preview #team-name { font-size: 38px; }
}
@media (max-width: 1000px) {
  .lawyers-page .lawyers-intro { padding-block: 60px 48px; }
  .lawyers-page .lawyers-intro > p { font-size: 19px; }
  .lawyers-page .lawyers-directory { grid-template-columns: 1fr; grid-template-rows: none; gap: 42px; padding-bottom: 85px; }
  .lawyers-page .team-preview {
    position: static;
    min-height: 0;
    margin-top: 0;
    padding: 32px 0 0;
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .lawyers-page .team-preview-copy { max-width: 720px; }
  .lawyers-page .team-preview #team-name { font-size: 46px; }
  .lawyers-page .team-preview .domain-tags { flex-direction: row; flex-wrap: wrap; gap: 10px 24px; }
  .lawyers-page .team-preview-actions { flex-direction: row; flex-wrap: wrap; gap: 18px 30px; }
}
@media (max-width: 700px) {
  .lawyers-page .lawyers-intro { grid-template-columns: 1fr; gap: 24px; padding-block: 42px 38px; }
  .lawyers-page .lawyers-intro > p { max-width: 490px; padding: 0; font-size: 19px; }
  .lawyers-page .lawyers-directory { gap: 36px; padding-bottom: 70px; }
  .lawyers-page .team-tabs.portrait-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 18px; }
  .lawyers-page .team-tabs .lawyer-name { font-size: clamp(25px, 5.2vw, 34px); }
  .lawyers-page .team-tabs .lawyer-caption { margin-top: 15px; }
  .lawyers-page .team-tabs .lawyer-caption-role { font-size: 14px; margin-top: 7px; }
  .lawyers-page .team-preview #team-name { font-size: clamp(39px, 8.5vw, 48px); }
  .lawyers-page .team-preview-actions { flex-direction: column; align-items: flex-start; gap: 12px; }
}
@media (max-width: 360px) {
  .lawyers-page .team-tabs.portrait-tabs { column-gap: 16px; }
  .lawyers-page .team-tabs .lawyer-name { font-size: 23px; }
}
@media (max-height: 760px) and (min-width: 1001px) {
  .lawyers-page .team-preview { position: static; }
}
@media (prefers-reduced-motion: reduce) {
  .lawyers-page .lawyer-portrait-frame img,
  .lawyers-page .team-tabs .lawyer-name,
  .lawyers-page .team-tabs .lawyer-choice::before { transition: none; }
}

