/* team_about: /about, /team and the three team profile pages.
   Three layout modes: desktop (1200 and up), tablet (810 to 1199), phone (up to 809). */

.page--team_about .main { display: flex; flex-direction: column; align-items: center; background: var(--sand); overflow: clip; color: var(--ink); }
.ta-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.ta-section { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; width: 100%; flex: 0 0 auto; background: var(--sand); }

/* ---- type -------------------------------------------------------------------------------- */
.ta-h1 { font: 400 64px/64px var(--serif); letter-spacing: -2.56px; color: var(--ink); text-align: left; }
.ta-w { display: inline-block; }
.ta-h1--light { color: #fff; }
.ta-h2 { font: 400 48px/52.8px var(--serif); letter-spacing: -1.92px; color: var(--ink); text-align: left; white-space: pre; }
.ta-h2s { font: 400 27.2px/32.64px var(--serif); letter-spacing: -1.088px; color: #fff; text-align: left; text-wrap: balance; }
.ta-h3 { font: 400 36px/41.4px var(--serif); letter-spacing: -1.44px; color: var(--ink); }
.ta-h3--light { color: #fff; }
.ta-h3c { font: 400 27.2px/32.64px var(--serif); letter-spacing: -1.088px; color: var(--ink); text-align: left; white-space: pre; }
.ta-p { font: 400 16px/22.4px var(--sans); color: var(--ink); text-align: left; }
.ta-p--light { color: #fff; text-wrap: balance; }
.ta-label { font: 400 14px/16.8px var(--sans); letter-spacing: 0.42px; text-transform: uppercase; color: var(--ink); }
.ta-label--light { color: #fff; }

/* ---- hero -------------------------------------------------------------------------------- */
.ta-hero { position: relative; display: flex; justify-content: flex-start; align-items: flex-end; width: 100%; flex: 0 0 auto; background: var(--sand); }
.ta-hero__bg { position: relative; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; flex: 1 0 0; max-width: 100%; min-width: 0; padding: 180px 48px 64px; }
.ta-hero__content { position: relative; z-index: 2; display: flex; justify-content: center; align-items: flex-end; gap: 64px; width: 100%; max-width: 1000px; }
.ta-hero__h { flex: 2 0 0; min-width: 0; }
.ta-hero__p { flex: 1 0 0; min-width: 0; }
.ta-hero--plain .ta-hero__h { flex: 1 0 0; }
.ta-hero--photo { height: 500px; }
.ta-hero--photo .ta-hero__bg { height: 900px; padding: 160px 48px 64px; }
.ta-hero__photo { position: absolute; inset: 0; }
.ta-hero__img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.ta-hero__darken { position: absolute; inset: 0; z-index: 1; background-image: linear-gradient(rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.15) 55%, rgba(0, 0, 0, 0.6) 75%, rgba(0, 0, 0, 0.8) 100%); }
.ta-hero__blur { position: absolute; inset: 0; z-index: 1; backdrop-filter: blur(5px); -webkit-mask-image: linear-gradient(rgba(0, 0, 0, 0) 70%, #000 90%); mask-image: linear-gradient(rgba(0, 0, 0, 0) 70%, #000 90%); }

/* ---- one person: text block, photograph, credential badge --------------------------------- */
.ta-partners { align-items: flex-start; }
.ta-row { position: relative; display: flex; align-items: flex-start; width: 100%; }
.ta-row__content { flex: 1 0 0; min-width: 0; max-width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 48px; padding: 180px 0; }
.ta-row__text { width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 32px; padding: 0 96px 0 48px; }
.ta-row--left .ta-row__content { order: 1; }
.ta-row--left .ta-row__text { align-items: flex-start; padding: 0 48px 0 96px; }
.ta-row__wrap { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 48px; max-width: 420px; }
.ta-row__id { display: flex; flex-direction: column; gap: 24px; }
.ta-row__bio p + p { margin-top: 20px; }
.ta-row__tail { height: 0; }
.ta-areas { display: flex; flex-direction: column; gap: 10px; align-self: stretch; }
.ta-areas__list { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding-top: 10px; }
.ta-areas__list.ta-areas__list--narrow { display: none; }
.ta-area { display: flex; flex-direction: column; gap: 10px; align-self: stretch; }
.ta-area__row { display: flex; align-items: center; justify-content: center; gap: 8px; }
.ta-area__t { flex: 1 0 0; min-width: 0; font: 400 14px/16.8px var(--sans); letter-spacing: 0.42px; text-transform: uppercase; color: var(--ink); }
.ta-ico { flex: 0 0 auto; display: block; --ta-a1: #2c2018; --ta-a2: #000; }
.ta-area__rule { position: relative; z-index: 1; display: block; height: 1px; background: rgba(13, 22, 38, 0.1); }

.ta-row__media { position: sticky; top: 0; z-index: 1; display: flex; justify-content: center; align-items: center; flex: 1 0 0; min-width: 0; height: 900px; overflow: clip; }
.ta-row__fig { position: relative; flex: 1 0 0; height: 100%; filter: saturate(1.05) sepia(0.1); will-change: transform; }
.ta-row__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ta-badge { position: absolute; right: 16px; bottom: 16px; z-index: 2; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 4px; padding: 16px; background: rgba(252, 250, 245, 0.9); border-radius: 4px; backdrop-filter: blur(10px); }
.ta-badge::after { content: ""; position: absolute; inset: 0; border: 1px solid var(--cream); border-radius: inherit; pointer-events: none; }
.ta-badge__rows { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; align-self: stretch; overflow: clip; }
.ta-badge__row { display: flex; align-items: center; justify-content: center; align-self: stretch; gap: 10px; padding-left: 2px; }
.ta-badge__dash { flex: 0 0 auto; display: block; width: 10px; height: 1px; background: var(--ink); }
.ta-badge__t { max-width: 180px; font: 400 12px/14.4px var(--sans); letter-spacing: 0.36px; text-transform: uppercase; color: var(--ink); }
.ta-badge__t--fix { width: 180px; }
.ta-badge__t--css::before { content: attr(data-css-text); }

/* ---- Navneet: a row with no photograph ---------------------------------------------------- */
.ta-trow { box-sizing: border-box; width: 100%; padding: 120px 24px 140px; }
.ta-trow__in { box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 28px 80px; max-width: 1032px; margin: 0 auto; padding-top: 72px; border-top: 1px solid rgba(13, 22, 38, 0.12); }
.ta-trow__id { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.ta-trow__id .ta-h1 { margin: 0 0 8px; }
.ta-trow__cred { display: flex; align-items: center; gap: 10px; font: 400 12px/14.4px var(--sans); letter-spacing: 0.36px; text-transform: uppercase; color: var(--ink); }
.ta-trow__cred::before { content: ""; flex: 0 0 auto; width: 10px; height: 1px; background: var(--ink); }
.ta-trow__bio { display: flex; flex-direction: column; gap: 20px; min-width: 0; }

/* ---- About the firm (navy) ---------------------------------------------------------------- */
.ta-about { position: relative; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; width: 100%; flex: 0 0 auto; padding: 180px 48px; background: var(--navy); overflow: clip; }
.ta-about__content { display: flex; justify-content: center; align-items: flex-start; gap: 192px; width: 100%; max-width: 1400px; }
.ta-about__left { flex: 1 0 0; min-width: 0; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 192px; }
.ta-about__right { flex: 1 0 0; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; align-self: stretch; }
.ta-about__label { color: #fff; white-space: pre; }
.ta-about__fig { display: flex; justify-content: center; align-items: center; width: 100%; border-radius: 4px; overflow: clip; will-change: transform; }
.ta-about__imgbox { position: relative; width: 100%; overflow: clip; }
.ta-about__imgbox--l { aspect-ratio: 0.830601 / 1; }
.ta-about__imgbox--r { aspect-ratio: 1.3125 / 1; }
.ta-about__imgbox .ta-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ta-about__text { display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; align-self: stretch; gap: 16px; padding-top: 24px; }
.ta-about__h { max-width: 400px; }
.ta-about__p { width: 60%; }
.ta-about .ta-p { color: #fff; }

/* ---- office: photo gallery and address card ------------------------------------------------- */
#nlf-office { box-sizing: border-box; background: #F7F3EA; color: #2C2018; padding: 96px 24px; font-family: NLF Sans, ui-sans-serif, system-ui, sans-serif; }
#nlf-office * { box-sizing: border-box; }
#nlf-office .of-wrap { max-width: 1180px; margin: 0 auto; }
#nlf-office .of-kicker { font-size: 11px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: #7D6320; margin: 0 0 14px; }
#nlf-office .of-h { font-family: "NLF Serif", Georgia, serif; font-weight: 400; font-size: clamp(28px, 4vw, 42px); line-height: 1.16; margin: 0; max-width: 17ch; }
#nlf-office .of-blurb { font-size: 16px; line-height: 1.62; color: #6A5C4E; max-width: 54ch; margin: 18px 0 0; }
#nlf-office .of-grid { list-style: none; margin: 46px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px 24px; }
#nlf-office .of-grid > li { margin: 0; min-width: 0; }
#nlf-office figure { margin: 0; }
#nlf-office .of-frame { aspect-ratio: 4/3; overflow: hidden; border-radius: 4px; background: #E6DFD3; }
#nlf-office .of-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
#nlf-office figcaption { font-size: 11px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; color: #736455; margin-top: 12px; line-height: 1.45; }
#nlf-office .of-card { aspect-ratio: 4/3; border: 1px solid #DCD4C6; border-radius: 4px; padding: 26px; display: flex; flex-direction: column; justify-content: center; gap: 12px; }
#nlf-office .of-card-l { font-size: 11px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; color: #7D6320; margin: 0; }
#nlf-office .of-addr { font-family: "NLF Serif", Georgia, serif; font-size: 19px; line-height: 1.5; margin: 0; font-style: normal; color: #2C2018; }
#nlf-office .of-cta { font-size: 13px; font-weight: 600; color: #152C58; text-decoration: none; border-bottom: 1px solid #B8963E; padding-bottom: 2px; align-self: flex-start; }
#nlf-office .of-cta:hover { color: #7D6320; }
#nlf-office .of-cta:focus-visible { outline: 2px solid #B8963E; outline-offset: 3px; }
@media (max-width: 1000px) { #nlf-office { padding: 84px 24px; } #nlf-office .of-grid { grid-template-columns: repeat(2, 1fr); gap: 30px 20px; } }
@media (max-width: 620px) { #nlf-office { padding: 60px 20px; } #nlf-office .of-grid { grid-template-columns: 1fr; gap: 26px; margin-top: 34px; } #nlf-office .of-card { aspect-ratio: auto; padding: 24px; } #nlf-office .of-blurb { font-size: 15px; } }

/* ---- /team: the three people --------------------------------------------------------------- */
.ta-team { align-items: center; gap: 40px; padding: 0 48px 140px; box-sizing: border-box; max-width: 100%; }
.ta-team__list { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; gap: 64px; width: 100%; max-width: 1000px; }
.ta-rule { width: 100%; height: 1px; background: rgba(13, 22, 38, 0.1); flex: 0 0 auto; }
.ta-card { display: flex; justify-content: center; align-items: center; gap: 48px; width: 100%; overflow: clip; }
.ta-card__photo { display: block; flex: 1 0 0; min-width: 0; }
.ta-card__frame { position: relative; width: 100%; aspect-ratio: 1 / 1; border-radius: 4px; }
.ta-card__img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 4px; }
.ta-card__info, .ta-card__side { flex: 1 0 0; min-width: 0; align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; overflow: clip; }
.ta-card__info { align-items: flex-start; }
.ta-card__side { align-items: flex-end; }
.ta-card__nb { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 10px; align-self: stretch; overflow: clip; }
.ta-card__creds { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; align-self: stretch; overflow: clip; }
.ta-card__cred { display: flex; align-self: stretch; padding-left: 2px; font: 400 20px/24px var(--sans); letter-spacing: -0.2px; color: rgba(13, 22, 38, 0.62); overflow: clip; }
.ta-card__cred > div { flex: 1 0 0; min-width: 0; }
.ta-card__chips { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; gap: 8px; align-self: stretch; }
.ta-chipw { max-width: 100%; display: flex; }
.ta-chip { display: flex; align-items: center; gap: 10px; max-width: 100%; padding: 4px 8px; border-radius: 100px; background: rgba(255, 255, 255, 0.62); font: 400 14px/16.8px var(--sans); letter-spacing: 0.42px; text-transform: uppercase; color: var(--ink); }
.ta-btn { position: relative; display: flex; justify-content: center; align-items: center; background: #fff; border-radius: 2px; overflow: hidden; }
.ta-btn__in { display: flex; justify-content: center; align-items: center; gap: 10px; box-sizing: border-box; height: 52px; padding: 16px 32px; }
.ta-btn__ico { display: none; flex: 0 0 auto; color: var(--ink); --ta-a1: var(--ink); --ta-a2: var(--ink); }
.ta-btn__t { display: block; font: 400 16px/19.2px var(--sans); letter-spacing: 0.64px; text-transform: uppercase; color: var(--ink); white-space: pre; text-align: left; }

/* ---- profile pages: "Get to know our team" ------------------------------------------------ */
.ta-more { box-sizing: border-box; justify-content: center; align-items: center; gap: 10px; padding: 180px 48px 0; overflow: clip; }
.ta-more__content { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 48px; width: 100%; max-width: 1000px; }
.ta-more__head { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.ta-more__htxt { display: flex; justify-content: flex-start; align-items: center; flex: 1 0 0; gap: 10px; padding-right: 24px; }
.ta-more__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; justify-content: center; width: 100%; }
.ta-more__cell { display: flex; justify-content: flex-start; align-items: center; align-self: start; gap: 10px; }
.ta-more__card { position: relative; flex: 1 0 0; min-width: 0; box-sizing: border-box; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 24px; min-height: 600px; padding: 48px 32px; background: rgba(13, 22, 38, 0.1); border-radius: 4px; overflow: clip; }
.ta-more__bg { position: absolute; inset: 0; z-index: 0; }
.ta-more__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ta-more__blur { position: absolute; inset: 0; backdrop-filter: blur(5px); -webkit-mask: linear-gradient(rgba(0, 0, 0, 0) 50%, #000 75%); mask: linear-gradient(rgba(0, 0, 0, 0) 50%, #000 75%); }
.ta-more__dark { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.5); -webkit-mask: linear-gradient(rgba(0, 0, 0, 0) 50%, #000 100%); mask: linear-gradient(rgba(0, 0, 0, 0) 50%, #000 100%); }
.ta-more__badge { position: absolute; left: 16px; right: 16px; bottom: 16px; z-index: 1; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 4px; padding: 16px 56px 16px 16px; }
.ta-more__name { overflow: clip; align-self: stretch; }
.ta-more__title { overflow: clip; align-self: stretch; }
.ta-more__arrow { position: absolute; right: 8px; bottom: 14px; width: 40px; height: 40px; box-sizing: border-box; display: flex; justify-content: center; align-items: center; padding: 8px; border-radius: 100px; color: #fff; --ta-a1: #fff; --ta-a2: #fff; }

@media (max-width: 1199.98px) { .ta-card__chips--none { display: none; } .ta-areas__list.ta-areas__list--wide { display: none; } .ta-areas__list.ta-areas__list--narrow { display: flex; } }

/* ---- tablet: 810 to 1199 ----------------------------------------------------------------- */
@media (max-width: 1199.98px) {
  .ta-h1 { font-size: 52px; line-height: 52px; letter-spacing: -2.08px; }
  .ta-h2 { font-size: 40px; line-height: 44px; letter-spacing: -1.6px; }
  .ta-h3 { font-size: 32px; line-height: 36.8px; letter-spacing: -1.28px; }
  .ta-h3c, .ta-h2s { font-size: 24.8px; line-height: 29.76px; letter-spacing: -0.992px; }
  .ta-hero__bg { padding: 160px 48px 64px; }
  .ta-hero__content { gap: 48px; }
  .ta-hero--photo .ta-hero__bg { height: 1000px; padding: 160px 48px 48px; }
  .ta-row__content { padding: 120px 0; }
  .ta-row__text, .ta-row--left .ta-row__text { padding: 0 48px; }
  .ta-row__media { height: 1000px; }
  .ta-about { padding: 120px 48px; }
  .ta-about__content { gap: 96px; }
  .ta-about__p { width: 90%; }
  .ta-team { padding: 0 48px; }
  .ta-team__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 128px 64px; grid-auto-rows: 1fr; justify-content: center; align-items: start; }
  .ta-rule { display: none; }
  .ta-card { flex-direction: column; justify-content: flex-start; align-items: stretch; gap: 24px; }
  /* below 1200 the photograph is not a link: the anchor keeps no box, so it is neither seen nor listed */
  .ta-card__photo { display: contents; }
  .ta-card__info, .ta-card__side { flex: 0 0 auto; align-self: auto; justify-content: center; gap: 24px; align-items: flex-start; }
  .ta-card__nb { gap: 4px; }
  .ta-card__bio { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: clip; white-space: pre-line; }
  .ta-card__creds { gap: 4px; }
  .ta-card__cred { font-size: 16px; line-height: 22.4px; letter-spacing: 0; }
  .ta-more { padding: 120px 48px 0; }
}

/* ---- phone: up to 809 -------------------------------------------------------------------- */
@media (max-width: 809.98px) {
  .ta-h1 { font-size: 40px; line-height: 40px; letter-spacing: -1.6px; }
  .ta-h2 { font-size: 32px; line-height: 35.2px; letter-spacing: -1.28px; }
  .ta-h3 { font-size: 27.2px; line-height: 31.28px; letter-spacing: -1.088px; }
  .ta-h3c, .ta-h2s { font-size: 22.4px; line-height: 26.88px; letter-spacing: -0.896px; }
  .ta-p { font-size: 14.4px; line-height: 20.16px; }
  .ta-hero--plain .ta-hero__bg { padding: 140px 24px 32px; }
  .ta-hero--photo { height: 300px; }
  .ta-hero--photo .ta-hero__bg { height: 650px; padding: 160px 24px 32px; }
  .ta-hero__content { flex-direction: column; gap: 16px; }
  .ta-hero__h, .ta-hero__p { flex: 0 0 auto; width: 100%; }
  .ta-hero__darken { background-image: linear-gradient(rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.15) 50%, rgba(0, 0, 0, 0.6) 70%, rgba(0, 0, 0, 0.7) 100%); }
  .ta-row { flex-direction: column; gap: 48px; }
  .ta-row__content, .ta-row--left .ta-row__content { order: 1; flex: 0 0 auto; width: 100%; padding: 0; }
  .ta-row__text, .ta-row--left .ta-row__text { align-items: flex-end; padding: 0 24px 80px; }
  .ta-row__wrap { gap: 24px; }
  .ta-row__id { gap: 16px; }
  /* the figure carries the photograph's own aspect ratio (WebKit sizes a percentage height inside an aspect-ratio
     box from the wrong width); the media box just wraps it */
  .ta-row__media { order: 0; position: relative; flex: 0 0 auto; width: 100%; height: auto; }
  .ta-row__fig { flex: 1 0 0; height: auto; aspect-ratio: 1696 / 2528; }
  .ta-trow { padding: 64px 24px 72px; }
  .ta-trow__in { grid-template-columns: minmax(0, 1fr); padding-top: 48px; row-gap: 24px; }
  .ta-about { padding: 80px 24px; }
  .ta-about__content { flex-direction: column; justify-content: center; gap: 24px; }
  .ta-about__left { align-self: stretch; justify-content: space-between; align-items: stretch; gap: 24px; }
  .ta-about__imgbox--l { aspect-ratio: 576 / 693; }
  .ta-about__right { align-self: stretch; justify-content: flex-start; align-items: flex-start; gap: 24px; }
  .ta-about__fig--r { display: none; }
  .ta-about__text { gap: 12px; padding-top: 0; }
  .ta-about__p { width: 100%; }
  .ta-team { padding: 0 24px 80px; }
  .ta-team__list { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; gap: 64px; }
  .ta-rule { display: block; }
  .ta-card__nb { gap: 4px; }
  .ta-card__bio { display: block; -webkit-line-clamp: none; overflow: visible; white-space: normal; }
  .ta-card__cred { font-size: 14.4px; line-height: 20.16px; }
  .ta-chip { font-size: 12px; line-height: 14.4px; letter-spacing: 0.36px; }
  .ta-more { padding: 0 24px 80px; }
  .ta-more__content { gap: 24px; }
  .ta-more__head { flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 24px; }
  .ta-more__htxt { flex: 0 0 auto; max-width: 100%; }
  .ta-more__grid { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 24px; }
  .ta-more__cell { width: 100%; }
  .ta-btn__in { height: 44px; padding: 12px 16px; }
  .ta-btn__ico { display: block; }
}

/* ---- right to left: text is aligned left by default and flips to the right on right-to-left pages ---- */
:root[dir="rtl"] .ta-h1, :root[dir="rtl"] .ta-h2, :root[dir="rtl"] .ta-h2s, :root[dir="rtl"] .ta-h3c, :root[dir="rtl"] .ta-p, :root[dir="rtl"] .ta-btn__t { text-align: right; }

/* text blocks preserve whitespace and may break inside long words (matters for mixed Latin and Farsi lines) */
.ta-row__name, .ta-row__bio, .ta-hero__h, .ta-hero__p, .ta-about__h, .ta-about__p, .ta-card__nb, .ta-area__t, .ta-badge__t, .ta-card__cred { white-space: pre-wrap; word-break: break-word; }

/* ---- hover: a practice-area line slides 10px, a topic pill brightens, a white button opens room for its arrow ---- */
.ta-area { transition: transform .3s cubic-bezier(.44, 0, .56, 1); }
.ta-chip { transition: background-color .3s cubic-bezier(.44, 0, .56, 1); }
.ta-btn__in { transition: padding .3s cubic-bezier(.44, 0, .56, 1); }
@media (hover: hover) {
  .ta-area:hover { transform: translateX(10px); }
  .ta-chip:hover { background: rgba(252, 250, 245, 0.9); }
  .ta-btn:hover .ta-btn__in { padding-right: 45px; }
  .ta-btn:hover .ta-btn__ico { display: block; position: absolute; right: 13px; top: 50%; margin-top: -8px; }
}
@media (hover: hover) and (max-width: 809.98px) { .ta-btn:hover .ta-btn__in { padding-right: 16px; } .ta-btn:hover .ta-btn__ico { position: static; margin: 0; } }

/* ---- scroll reveals: timing on top of the chrome's data-reveal="fade" ---------------------------------------------------- */
/* The same ease as the chrome's fade, with this page's own durations: .48 s for a plain block and .74 s for photo cards,
   both opacity only. Specificity is raised so this wins whichever sheet loads last. */
html.js:root [data-reveal="fade"].is-in { transition-duration: .48s; }
html.js:root [data-reveal][data-reveal-slow].is-in { transition-duration: .74s; }
/* a practice-area link keeps its hover slide (chrome's rule would replace the whole transition list) */
html.js:root .ta-area[data-reveal="fade"].is-in { transition: opacity .48s var(--reveal-ease), transform .3s cubic-bezier(.44, 0, .56, 1); }
/* the long biographies: hidden until most of the block is on screen (script.js), then the same fade as the others */
html.js [data-reveal="fade-late"] { opacity: .001; }
html.js [data-reveal="fade-late"].is-in { opacity: 1; transition: opacity .48s var(--reveal-ease); }
