/*
 * R137.30 visual-consistency layer.
 * Source strings, media bytes and component order remain unchanged. This file
 * only reconciles the existing page-family geometry at the terminal cascade.
 */

/* Shared outer rail. Editorial pages may keep their own inner reading measure,
   but the first component edge must resolve from the same public axis. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r53-article-layout {
  box-sizing: border-box !important;
  inline-size: calc(100% - (2 * var(--r1378-public-inset))) !important;
  width: calc(100% - (2 * var(--r1378-public-inset))) !important;
  max-inline-size: var(--r1378-public-rail-max) !important;
  max-width: var(--r1378-public-rail-max) !important;
  margin-inline: auto !important;
}

/* The firm people/story components live inside their registered shell grids.
   Consume that shell's public rail directly instead of subtracting the viewport
   inset a second time. This keeps the card edge on the same axis as the hero
   and adjacent full-rail sections while preserving narrower reading measures. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  :is(
    .r54-content-editorial.r54-standard-firm-people > .r54-editorial-narrative-grid > .r54-firm-counsel-intro,
    .r54-content-editorial.r54-standard-firm-people > .r54-editorial-narrative-grid > .r54-firm-people-stage,
    .r54-content-firm-story.r54-standard-firm-story > .r54-firm-story-flow > .r54-firm-story-groups
  ) {
  box-sizing: border-box !important;
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

/* R137.18's source-continuation selector is intentionally specific. Bind its
   outer edge to the same shell without changing the approved 64ch text measure. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision].r60-firm #r53-main
  .r54-content-editorial.r54-standard-firm-people > .r54-editorial-narrative-grid
  > .r54-firm-counsel-intro.r13718-firm-counsel-continuation {
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

/* One photographic route-hero stage across every public route, including
   archives, FAQ and legacy/localized routes without a media-order attribute. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r54-route-hero.r53-page-hero-has-media {
  --r1378-route-hero-height: clamp(500px, 34vw, 540px);
  --r8734-hero-height: var(--r1378-route-hero-height) !important;
  --r8735-media-hero-height: var(--r1378-route-hero-height) !important;
  box-sizing: border-box !important;
  block-size: auto !important;
  height: auto !important;
  min-block-size: var(--r1378-route-hero-height) !important;
  min-height: var(--r1378-route-hero-height) !important;
  overflow: hidden !important;
  border: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r54-route-hero.r53-page-hero-has-media > .r54-route-hero-grid {
  box-sizing: border-box !important;
  grid-template-rows: minmax(var(--r1378-route-hero-height), auto) !important;
  block-size: auto !important;
  height: auto !important;
  min-block-size: var(--r1378-route-hero-height) !important;
  min-height: var(--r1378-route-hero-height) !important;
  border: 0 !important;
}

/* Localized and preserved legacy routes can legitimately have no media-order
   metadata. They still consume the same photographic hero component, so their
   title plane must not fall back to an older bottom-centred layout. Keep every
   non-purpose photo hero on the same start-aligned, vertically centred plane
   without changing source text or introducing authored line breaks. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)
  .r54-route-hero-title {
  grid-row: 1 !important;
  align-self: center !important;
  align-content: center !important;
  justify-content: start !important;
  justify-self: start !important;
  justify-items: start !important;
  row-gap: 22px !important;
  gap: 22px !important;
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: 720px !important;
  max-width: 720px !important;
  margin: 0 !important;
  padding: 0 var(--r1375-hero-inline) !important;
  text-align: start !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)
  .r54-route-hero-title > :is(.r53-eyebrow,h1) {
  justify-self: start !important;
  margin-inline: 0 !important;
  text-align: start !important;
}

/* Counsel profiles remain a text-led family, but George and James no longer
   inherit different hero heights merely because one approved summary is longer. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r123-counsel-text-hero {
  min-block-size: clamp(410px, 31.806vw, 458px) !important;
  min-height: clamp(410px, 31.806vw, 458px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r123-counsel-text-hero .r54-identity-profile-copy {
  box-sizing: border-box !important;
  min-block-size: 300px !important;
  min-height: 300px !important;
  justify-content: flex-start !important;
  row-gap: 12px !important;
  gap: 12px !important;
}

/* Page-family accent contract. Title-only route and purpose heroes receive one
   quiet orientation stroke. Home, counsel-profile and article heroes already
   carry an independent hierarchy and therefore explicitly remain unaccented. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r54-route-hero .r54-route-hero-title:not(:has(> .r53-eyebrow)) > h1::before {
  content: "" !important;
  display: block !important;
  inline-size: clamp(38px, 4vw, 54px) !important;
  width: clamp(38px, 4vw, 54px) !important;
  block-size: 3px !important;
  height: 3px !important;
  margin: 0 0 clamp(16px, 1.65vw, 22px) !important;
  background: currentColor !important;
  opacity: .72 !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  :is(.r54-home-authority,.r123-counsel-text-hero,.r53-article-hero) h1::before {
  content: none !important;
  display: none !important;
}

/* Blog cards retain the selected feature-plus-grid composition. The media
   column and headline return to editorial-card scale instead of competing with
   the page hero. No title receives a forced line count, break or truncation. */
html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
  .r53-article-card {
  grid-template-columns: minmax(188px, .34fr) minmax(0, .66fr) !important;
  column-gap: clamp(22px, 2vw, 30px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
  .r53-article-card:first-child {
  grid-template-columns: minmax(284px, .36fr) minmax(0, .64fr) !important;
  min-block-size: 0 !important;
  min-height: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
  .r53-article-card:first-child .r53-article-card-media {
  aspect-ratio: 3 / 2 !important;
  align-self: start !important;
  block-size: auto !important;
  height: auto !important;
  min-block-size: 0 !important;
  min-height: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
  .r53-article-card:not(:first-child) .r53-article-card-media {
  aspect-ratio: 4 / 3 !important;
  align-self: start !important;
  block-size: auto !important;
  height: auto !important;
  min-block-size: 0 !important;
  min-height: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
  .r53-article-card-media :is(picture,img) {
  inline-size: 100% !important;
  width: 100% !important;
  block-size: 100% !important;
  height: 100% !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
  .r53-article-card-copy h2,
html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
  .r53-article-card-copy h2 a {
  max-inline-size: none !important;
  max-width: none !important;
  font-size: clamp(24px, 1.6vw, 28px) !important;
  line-height: 1.16 !important;
  letter-spacing: -.018em !important;
  text-wrap: wrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
  .r53-article-card:first-child .r53-article-card-copy h2,
html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
  .r53-article-card:first-child .r53-article-card-copy h2 a {
  max-inline-size: none !important;
  max-width: none !important;
  font-size: clamp(34px, 2.65vw, 42px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.024em !important;
}

/* The archive rail must not stay two-up while each card is also split into
   media and copy. That double subdivision left the longest approved headline
   with only an image-width measure at the 820px edge. Keep one card per row
   through the intermediate state, then let the existing phone layout stack at
   720px. The featured first story remains the sole large desktop lead. */
@media (min-width: 721px) and (max-width: 1280px) {
  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card,
  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card:first-child {
    grid-column: 1 !important;
    grid-template-columns: minmax(200px, .32fr) minmax(0, .68fr) !important;
  }
}

@media (min-width: 721px) and (max-width: 980px) {
  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card-media {
    grid-column: auto !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card-copy {
    grid-column: auto !important;
  }
}

/* Counsel portraits stay in their approved 4:5 derivative geometry. A compact
   media-column dossier replaces the old landscape contain slot, removing its
   white side gutters without cropping either portrait. Explicit grid placement
   also prevents the James copy from opening a second, empty media row. */
@media (min-width: 899px) {
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm[data-r54-revision] #r53-main
    .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person {
    grid-template-columns: minmax(220px, .4fr) minmax(0, .6fr) !important;
    grid-template-rows: auto !important;
    align-items: start !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-firm[data-r54-revision] #r53-main
    .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person > figure {
    grid-column: 1 !important;
    grid-row: 1 !important;
    aspect-ratio: 4 / 5 !important;
    block-size: auto !important;
    height: auto !important;
    min-block-size: 0 !important;
    min-height: 0 !important;
    align-self: start !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-firm[data-r54-revision] #r53-main
    .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person > figure img {
    object-fit: contain !important;
    object-position: 50% 100% !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-firm[data-r54-revision] #r53-main
    .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person > div {
    grid-column: 2 !important;
    grid-row: 1 !important;
    border-block-start: 0 !important;
    border-top: 0 !important;
    border-inline-start: 4px solid var(--r53-oxblood) !important;
    border-left: 4px solid var(--r53-oxblood) !important;
  }
}

@media (max-width: 898px) {
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm[data-r54-revision] #r53-main
    .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person > figure {
    grid-column: 1 !important;
    grid-row: 1 !important;
    aspect-ratio: 4 / 5 !important;
    block-size: auto !important;
    height: auto !important;
    min-block-size: 0 !important;
    min-height: 0 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-firm[data-r54-revision] #r53-main
    .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person > figure img {
    object-fit: contain !important;
    object-position: 50% 100% !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-firm[data-r54-revision] #r53-main
    .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person > div {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
}

@media (max-width: 620px) {
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm[data-r54-revision] #r53-main
    .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    block-size: auto !important;
    height: auto !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-firm[data-r54-revision] #r53-main
    .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person > figure {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-firm[data-r54-revision] #r53-main
    .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person > div {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
}

/* The assistant's current fixed architecture has four declared visual states.
   The root itself never becomes an invisible click shield: only the visible
   compact launcher, minimized strip or expanded panel accepts pointer input. */
html body.gl-r53 .bws-gla[data-widget-state] {
  pointer-events: none !important;
}

html body.gl-r53 .bws-gla[data-widget-state="compact"] {
  inline-size: 54px !important;
  width: 54px !important;
  block-size: 54px !important;
  height: 54px !important;
}

html body.gl-r53 .bws-gla[data-widget-state="minimized"] {
  inline-size: min(290px, calc(100vw - 40px)) !important;
  width: min(290px, calc(100vw - 40px)) !important;
  block-size: 52px !important;
  height: 52px !important;
}

html body.gl-r53 .bws-gla[data-widget-state="expanded"] {
  inline-size: 0 !important;
  width: 0 !important;
  block-size: 0 !important;
  height: 0 !important;
}

html body.gl-r53 .bws-gla[data-widget-state="dismissed"] {
  display: none !important;
}

html body.gl-r53 .bws-gla[data-widget-state="compact"] .bws-gla__launcher,
html body.gl-r53 .bws-gla[data-widget-state="minimized"] .bws-gla__minimized,
html body.gl-r53 .bws-gla[data-widget-state="expanded"] .bws-gla__dialog {
  pointer-events: auto !important;
}

html body.gl-r53 .bws-gla[data-widget-state="compact"] .bws-gla__launcher:focus-visible,
html body.gl-r53 .bws-gla[data-widget-state="minimized"] :is(.bws-gla__minimized-open,.bws-gla__minimized-dismiss):focus-visible,
html body.gl-r53 .bws-gla[data-widget-state="expanded"] .bws-gla__dialog :is(button,a,select):focus-visible {
  outline: 3px solid var(--gla-focus) !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}

html body.gl-r53 .bws-gla[data-widget-state="expanded"] .bws-gla__composer input:focus-visible {
  position: relative !important;
  z-index: 1 !important;
  outline: 0 !important;
  outline-offset: 0 !important;
  box-shadow: inset 0 0 0 3px var(--gla-focus) !important;
}

html body.gl-r53 .bws-gla[data-widget-state="expanded"] .bws-gla__composer button:focus-visible {
  position: relative !important;
  z-index: 2 !important;
  outline: 0 !important;
  outline-offset: 0 !important;
  box-shadow: inset 0 0 0 3px #fff !important;
}

html body.gl-r53 .bws-gla .bws-gla__composer button:active {
  transform: none !important;
}

@media (max-width: 720px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r54-home-authority,
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r54-home-authority > .r54-home-authority-stage {
    min-block-size: 467px !important;
    min-height: 467px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r54-route-hero.r53-page-hero-has-media {
    --r1378-route-hero-height: clamp(520px, 136vw, 580px);
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r123-counsel-text-hero {
    min-block-size: 339px !important;
    min-height: 339px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r123-counsel-text-hero .r54-identity-profile-copy {
    min-block-size: 249px !important;
    min-height: 249px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r54-route-hero .r54-route-hero-title:not(:has(> .r53-eyebrow)) > h1::before {
    inline-size: 38px !important;
    width: 38px !important;
    margin-block-end: 16px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card,
  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card:first-child {
    grid-template-columns: minmax(0, 1fr) !important;
    min-block-size: 0 !important;
    min-height: 0 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card-media,
  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card:first-child .r53-article-card-media,
  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card:not(:first-child) .r53-article-card-media,
  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card-media :is(picture,img) {
    aspect-ratio: 16 / 9 !important;
    block-size: auto !important;
    height: auto !important;
    min-block-size: 0 !important;
    min-height: 0 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card-copy h2,
  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card-copy h2 a,
  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card:first-child .r53-article-card-copy h2,
  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card:first-child .r53-article-card-copy h2 a {
    max-inline-size: none !important;
    max-width: none !important;
    font-size: clamp(25px, 7.2vw, 30px) !important;
    line-height: 1.14 !important;
    letter-spacing: -.018em !important;
  }

}

@media (max-width: 350px) {
  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card-copy h2,
  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card-copy h2 a,
  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card:first-child .r53-article-card-copy h2,
  html body.gl-r53 .r53-site[data-site-production-root].r60-article-archive[data-r54-revision] #r53-main
    .r53-article-card:first-child .r53-article-card-copy h2 a {
    font-size: 25px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.gl-r53 .bws-gla[data-widget-state] :is(.bws-gla__launcher,.bws-gla__minimized) {
    transform: none !important;
    transition: none !important;
  }
}
