/* R75 — one project-wide geometry, typography, control and surface system.
   This terminal layer replaces page-local drift with shared component roles.
   Full-bleed means the surface reaches the viewport; readable copy still
   follows the common shell and never touches the edge. */

:root {
  --r75-shell: 1440px;
  --r75-reading: 780px;
  --r75-edge: clamp(24px, 3.2vw, 48px);
  --r75-section: clamp(72px, 7.2vw, 112px);
  --r75-section-tight: clamp(52px, 5vw, 76px);
  --r75-display: clamp(50px, 5.25vw, 78px);
  --r75-page-title: clamp(44px, 4.1vw, 64px);
  --r75-section-title: clamp(38px, 3.45vw, 54px);
  --r75-card-title: clamp(27px, 2.15vw, 34px);
  --r75-lead: clamp(19px, 1.45vw, 23px);
  --r75-body: clamp(16px, 1.1vw, 18px);
  --r75-red: #8a151b;
  --r75-red-strong: #aa1724;
  --r75-wine: #650d16;
  --r75-wine-deep: #42090f;
  --r75-night: #171114;
  --r75-ink: #1b1618;
  --r75-copy: #4d4548;
  --r75-muted: #6a6064;
  --r75-paper: #f4f0ea;
  --r75-paper-2: #ebe5de;
  --r75-white: #fff;
  --r75-line: rgba(35, 24, 28, .17);
  --r75-line-dark: rgba(255, 255, 255, .28);
  --r75-shadow: 0 22px 58px rgba(35, 18, 24, .10);
}

html body.gl-r53 .r53-site[data-site-production-root] {
  --r53-edge: var(--r75-edge);
  --r58-edge: var(--r75-edge);
  --r68-edge: var(--r75-edge);
  --r70-edge: var(--r75-edge);
  --r53-shell: var(--r75-shell);
  --r58-shell: var(--r75-shell);
  --r67-shell: var(--r75-shell);
  --r68-header-shell: var(--r75-shell);
  --r70-shell: var(--r75-shell);
  --r70-content: var(--r75-shell);
  --r74-shell: var(--r75-shell);
  --r74-edge: var(--r75-edge);
  color: var(--r75-ink);
  background: var(--r75-white);
}

html body.gl-r53 .r53-site[data-site-production-root] .r53-shell,
html body.gl-r53 .r53-site[data-site-production-root] main :where(
  .r54-selected-counsel-intro,
  .r54-selected-counsel-grid,
  .r54-original-process-grid,
  .r54-editorial-narrative-grid,
  .r54-service-authority-grid,
  .r54-article-reading-grid,
  .r54-counsel-biography-grid,
  .r54-practice-directory-layout,
  .r53-faq-grid,
  .r53-office-record-grid,
  .r53-contact-grid,
  .r53-article-layout
) {
  width: min(calc(100% - (2 * var(--r75-edge))), var(--r75-shell)) !important;
  max-width: var(--r75-shell) !important;
  min-width: 0 !important;
  margin-inline: auto !important;
}

/* Type roles: one scale, one spacing rhythm, locale-safe line breaking. */
html body.gl-r53 .r53-site[data-site-production-root] main .r53-eyebrow {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 18px !important;
  color: var(--r75-red) !important;
  font: 650 11px/1.25 var(--r53-sans) !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r53-eyebrow > span {
  display: block !important;
  width: 34px !important;
  height: 1px !important;
  flex: 0 0 34px !important;
  background: currentColor !important;
  opacity: .72 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(
  .r54-route-hero,
  .r53-profile-hero,
  .r53-article-hero
) h1 {
  max-width: 16ch !important;
  margin: 0 !important;
  font: 500 var(--r75-page-title)/1.01 var(--r53-serif) !important;
  letter-spacing: -.038em !important;
  text-wrap: balance !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-home-authority-copy h1 {
  max-width: 13.5ch !important;
  font: 520 var(--r75-display)/.98 var(--r53-serif) !important;
  letter-spacing: -.043em !important;
  text-wrap: balance !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(
  .r53-section-heading h2,
  .r54-firm-story-group-heading h2,
  .r54-practice-directory-heading h2,
  .r54-faq-lead strong,
  .r58-media-library-heading h2
) {
  margin: 0 !important;
  font: 500 var(--r75-section-title)/1.04 var(--r53-serif) !important;
  letter-spacing: -.033em !important;
  text-wrap: balance !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(
  .r53-section-heading .r53-deck,
  .r54-home-authority-copy .r53-hero-deck,
  .r54-firm-story-group-opening .r54-narrative-chapter-body,
  .r54-original-process-grid > article > p,
  .r58-media-library-heading > p:last-child
) {
  color: var(--r75-copy) !important;
  font-size: var(--r75-lead) !important;
  line-height: 1.58 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(p, li, dd) {
  font-size: var(--r75-body);
  line-height: 1.7;
}

/* Hero variants share one height, title axis and dark red color family. */
html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero,
html body.gl-r53 .r53-site[data-site-production-root] main .r53-profile-hero,
html body.gl-r53 .r53-site[data-site-production-root] main .r53-article-hero {
  width: 100% !important;
  margin: 0 !important;
  background: var(--r75-night) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r54-route-hero-grid,
html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero.r53-page-hero-has-media .r54-route-hero-grid {
  grid-template-columns: minmax(430px, 42%) minmax(0, 58%) !important;
  grid-template-rows: clamp(410px, 31vw, 480px) !important;
  height: clamp(410px, 31vw, 480px) !important;
  min-height: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r54-route-hero-title {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  padding: 52px clamp(36px, 4vw, 64px) 52px max(var(--r75-edge), calc((100vw - var(--r75-shell)) / 2 + var(--r75-edge))) !important;
  background: linear-gradient(126deg, var(--r75-night), var(--r75-wine-deep) 68%, var(--r75-wine)) !important;
  text-align: left !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r54-route-hero-title :where(h1, p, .r53-eyebrow) {
  color: #fff !important;
  text-align: left !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r53-page-hero-media,
html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r53-page-hero-image {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  overflow: hidden !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-home-authority-stage,
html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-home-authority-inner {
  min-height: clamp(600px, 66vh, 720px) !important;
  height: clamp(600px, 66vh, 720px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-home-authority-copy {
  padding-block: clamp(68px, 7vw, 104px) !important;
}

/* Every interactive action uses one text track and one centered vector slot. */
html body.gl-r53 .r53-site[data-site-production-root] :where(
  .r53-button,
  .r53-arrow-link,
  .r53-header-contact,
  .r54-integrated-inquiry-link,
  .r54-practice-inquiry-link,
  .r54-person-profile-action,
  .r63-relationship-action,
  .r66-footer-contact-rule
) {
  align-items: center !important;
}

html body.gl-r53 .r53-site[data-site-production-root] :where(
  .r67-action-icon,
  .r67-inline-action-icon,
  .r63-relationship-arrow,
  .r54-person-profile-action em,
  .r54-practice-directory-action,
  .r54-firm-story-pathway-icon
) {
  display: inline-grid !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  flex: 0 0 22px !important;
  place-items: center !important;
  align-self: center !important;
  justify-self: end !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] :where(
  .r67-action-icon,
  .r67-inline-action-icon,
  .r63-relationship-arrow,
  .r54-person-profile-action em,
  .r54-practice-directory-action,
  .r54-firm-story-pathway-icon
) svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  margin: auto !important;
}

html body.gl-r53 .r53-site[data-site-production-root] .r53-button {
  min-height: 52px !important;
  padding: 13px 18px !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

/* Practice icons are now the same editable stroke system used everywhere. */
html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-card {
  min-height: 150px !important;
  grid-template-columns: 44px minmax(0, 1fr) 22px !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 28px 30px !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-card .r53-practice-icon {
  display: grid !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  margin: 0 !important;
  place-items: center !important;
  overflow: visible !important;
  color: var(--r75-red) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-card .r75-practice-icon {
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  overflow: visible !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-card h3 {
  font-size: clamp(20px, 1.65vw, 25px) !important;
  line-height: 1.18 !important;
}

/* Counsel: one introduction, two equal cards, one portrait viewport. */
html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel {
  width: 100% !important;
  padding: var(--r75-section) 0 !important;
  background: var(--r75-paper) !important;
  color: var(--r75-ink) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro {
  display: grid !important;
  grid-template-columns: minmax(330px, .46fr) minmax(0, .54fr) !important;
  align-items: end !important;
  gap: clamp(40px, 6vw, 92px) !important;
  margin-bottom: clamp(42px, 5vw, 68px) !important;
  padding: 0 0 34px !important;
  border-bottom: 1px solid var(--r75-line) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro .r53-section-heading {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  max-width: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro .r53-section-heading > * {
  grid-column: 1 !important;
  grid-row: auto !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro .r53-section-heading h2 {
  max-width: 11ch !important;
  color: var(--r75-ink) !important;
  font-size: var(--r75-section-title) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro .r53-section-heading .r53-deck {
  max-width: 58ch !important;
  margin: 24px 0 0 !important;
  color: var(--r75-copy) !important;
  font-size: var(--r75-lead) !important;
  line-height: 1.56 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-grid {
  display: block !important;
  padding: 0 !important;
}

/* The firm roster begins with one real editorial introduction, not an empty
   spacer or a duplicated micro-label. Locale changes the copy only; the
   hierarchy and alignment remain identical across EN/KO/ZH. */
html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-counsel-intro {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr) !important;
  column-gap: clamp(40px, 6vw, 96px) !important;
  align-items: end !important;
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(56px, 6vw, 88px) 0 clamp(34px, 4vw, 54px) !important;
  border-bottom: 1px solid var(--r75-line) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-counsel-eyebrow {
  grid-column: 1 / -1 !important;
  margin: 0 0 18px !important;
  color: var(--r75-red) !important;
  font: 700 var(--r75-eyebrow)/1.2 var(--r53-sans) !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-counsel-intro h2 {
  margin: 0 !important;
  max-width: 11ch !important;
  color: var(--r75-ink) !important;
  font: 500 var(--r75-section-title)/1.02 var(--r53-serif) !important;
  letter-spacing: -.035em !important;
  text-wrap: balance !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-counsel-deck {
  margin: 0 !important;
  max-width: 58ch !important;
  color: var(--r75-copy) !important;
  font-size: var(--r75-lead) !important;
  line-height: 1.58 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-stage,
html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(24px, 3vw, 40px) !important;
  align-items: stretch !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(
  .r54-selected-person,
  .r54-selected-person-associate,
  .r54-firm-person
) {
  display: grid !important;
  grid-template-rows: auto minmax(260px, 1fr) !important;
  height: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--r75-line) !important;
  background: #fff !important;
  box-shadow: var(--r75-shadow) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(
  .r54-selected-person,
  .r54-selected-person-associate,
  .r54-firm-person
) > figure {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #f2f0ed !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(
  .r54-selected-person .r53-counsel-image,
  .r54-selected-person-associate .r53-counsel-image,
  .r54-firm-person-image
) {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  background: #f2f0ed !important;
}

/* Preserve the Vision-measured George/James face parity in the final cascade.
   Historical home/firm selectors carry more specificity than the earlier R74
   source-asset rule, so the same non-generative affine correction must be owned
   here by the last shared component layer. */
html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-person img.r53-counsel-image[src*="george.jpg"],
html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-person img.r54-firm-person-image[src*="george.jpg"] {
  transform: translate(-2.415%, 5.057%) scale(1.17317) !important;
  transform-origin: 50% 50% !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(
  .r54-selected-person,
  .r54-selected-person-associate,
  .r54-firm-person
) > div {
  display: flex !important;
  flex-direction: column !important;
  min-height: 260px !important;
  padding: clamp(26px, 3vw, 38px) !important;
  border-top: 4px solid var(--r75-red) !important;
  background: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(
  .r54-selected-person,
  .r54-firm-person
) :where(h2, h3) {
  margin: 14px 0 0 !important;
  font: 500 var(--r75-card-title)/1.08 var(--r53-serif) !important;
  letter-spacing: -.025em !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-person-summary {
  display: block !important;
  margin: 18px 0 0 !important;
  color: var(--r75-copy) !important;
  font-size: 15.5px !important;
  line-height: 1.62 !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-person-profile-action {
  grid-template-columns: minmax(0, 1fr) 22px !important;
  min-height: 54px !important;
  margin-top: auto !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--r75-line) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-person-profile-action em {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--r75-red) !important;
}

/* About/Firm narrative: full-bleed surfaces with shell-aligned inner copy. */
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-content-firm-story {
  padding: 0 !important;
  background: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-flow {
  width: min(calc(100% - (2 * var(--r75-edge))), var(--r75-shell)) !important;
  max-width: var(--r75-shell) !important;
  margin-inline: auto !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group:nth-child(n) {
  padding: var(--r75-section-tight) 0 !important;
  background: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main :where(
  .r54-firm-story-group-proof,
  .r54-firm-story-group-authority,
  .r54-firm-story-group-process
) {
  width: 100vw !important;
  max-width: none !important;
  margin-inline: calc(50% - 50vw) !important;
  padding-inline: max(var(--r75-edge), calc((100vw - var(--r75-shell)) / 2 + var(--r75-edge))) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-proof {
  background: var(--r75-paper) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-authority {
  background: linear-gradient(120deg, var(--r75-night), var(--r75-wine)) !important;
  color: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-process {
  background: var(--r75-paper-2) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-heading {
  margin: 0 0 34px !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry:nth-child(n) {
  min-width: 0 !important;
  min-height: 100% !important;
  padding: clamp(28px, 3vw, 42px) !important;
  border: 1px solid var(--r75-line) !important;
  background: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry > h3 {
  margin: 0 !important;
  font: 500 var(--r75-card-title)/1.12 var(--r53-serif) !important;
  letter-spacing: -.024em !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry .r54-narrative-chapter-body {
  max-width: 70ch !important;
  margin: 20px 0 0 !important;
  color: var(--r75-copy) !important;
  font-size: var(--r75-body) !important;
  line-height: 1.72 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-grid {
  display: grid !important;
  gap: clamp(20px, 2.4vw, 32px) !important;
  align-items: stretch !important;
  border: 0 !important;
  background: transparent !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-grid[data-r54-entry-count="1"] {
  grid-template-columns: minmax(0, 1fr) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-grid[data-r54-entry-count="2"] {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-grid[data-r54-entry-count="3"] {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-grid[data-r54-entry-count="4"] {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-authority :where(
  .r54-firm-story-group-heading h2,
  .r54-narrative-chapter-body,
  .r54-narrative-chapter-body p,
  strong,
  a
) {
  color: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-authority .r54-firm-story-entry {
  border-color: var(--r75-line-dark) !important;
  background: rgba(255,255,255,.06) !important;
}

/* Relationship, resource and testimonial cards share completion geometry. */
html body.gl-r53 .r53-site[data-site-production-root] main :where(
  .r54-original-home-link-grid,
  .r53-article-layout,
  .r54-testimonial-grid
) {
  align-items: stretch !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(
  .r54-original-home-link-card,
  .r53-article-card,
  .r54-testimonial-card
) {
  min-width: 0 !important;
  height: 100% !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r53-article-card-media {
  min-height: 240px !important;
  overflow: hidden !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r53-article-card-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Process and media: true two-column groups, equal players, centered gallery. */
html body.gl-r53 .r53-site[data-site-production-root] main .r54-original-process-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(34px, 5vw, 76px) !important;
  align-items: start !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-original-process-grid > .r54-original-process-steps {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1px !important;
  margin: 18px 0 0 !important;
  background: var(--r75-line) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(.r58-media-library-grid, .r54-source-video-grid) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(20px, 2.6vw, 34px) !important;
  align-items: stretch !important;
  background: transparent !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(.r58-media-library-grid, .r54-source-video-grid) > :only-child {
  grid-column: 1 / -1 !important;
  width: min(100%, 860px) !important;
  justify-self: center !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-source-videos {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 30px !important;
  width: min(calc(100% - 2 * var(--r75-edge)), var(--r75-shell)) !important;
  max-width: var(--r75-shell) !important;
  margin: var(--r75-section-tight) auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-source-videos > .r53-eyebrow {
  position: static !important;
  margin: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r67-self-hosted-video {
  grid-template-rows: auto auto !important;
  height: 100% !important;
  border: 1px solid var(--r75-line) !important;
  background: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r67-self-hosted-video figcaption {
  min-height: 78px !important;
  padding: 22px 24px !important;
  border-bottom: 1px solid var(--r75-line) !important;
  color: var(--r75-ink) !important;
  font: 500 clamp(20px, 1.7vw, 26px)/1.18 var(--r53-serif) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r67-self-hosted-video video {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: contain !important;
  background: #080608 !important;
}

/* FAQ has a real +/− state; the symbol is not duplicated by an icon font. */
html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq summary {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 42px !important;
  align-items: center !important;
  gap: 24px !important;
  min-height: 84px !important;
  padding: 20px 0 !important;
  cursor: pointer !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq summary::after {
  display: grid !important;
  width: 40px !important;
  height: 40px !important;
  place-items: center !important;
  border: 1px solid var(--r75-red) !important;
  border-radius: 50% !important;
  content: "+" !important;
  color: var(--r75-red) !important;
  font: 400 24px/1 var(--r53-sans) !important;
  transition: color .2s ease, background-color .2s ease, transform .2s ease !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq details[open] summary::after {
  content: "−" !important;
  background: var(--r75-red) !important;
  color: #fff !important;
  transform: rotate(180deg) !important;
}

/* CTA and footer are full-bleed surfaces with explicit internal separation. */
html body.gl-r53 .r53-site[data-site-production-root] main .r54-bottom-inquiry-band {
  width: 100% !important;
  margin: 0 !important;
  padding: var(--r75-section-tight) 0 !important;
  background: linear-gradient(112deg, var(--r75-wine-deep), var(--r75-wine) 72%, var(--r75-red)) !important;
  color: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-bottom-inquiry-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(250px, .34fr) !important;
  align-items: center !important;
  gap: clamp(36px, 6vw, 96px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-bottom-inquiry-band :where(p, h2, span) {
  color: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-bottom-inquiry-band h2 {
  margin: 10px 0 14px !important;
  font: 500 var(--r75-section-title)/1.04 var(--r53-serif) !important;
  letter-spacing: -.03em !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-integrated-inquiry-link, .r54-practice-inquiry-link) {
  width: 100% !important;
  min-height: 66px !important;
  padding: 18px 22px !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  color: #fff !important;
  background: rgba(255,255,255,.06) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] .r53-footer {
  width: 100% !important;
  padding: 0 !important;
  background: var(--r75-night) !important;
  color: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root] .r53-footer-top {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .34fr) !important;
  align-items: end !important;
  gap: 40px !important;
  padding-block: clamp(54px, 5vw, 76px) 38px !important;
}

html body.gl-r53 .r53-site[data-site-production-root] .r53-footer-grid {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.1fr) repeat(3, minmax(160px, .6fr)) !important;
  gap: clamp(30px, 4vw, 62px) !important;
  padding-block: 40px 28px !important;
  border-top: 1px solid var(--r75-line-dark) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] .r53-footer .r66-footer-column-heading {
  margin: 0 0 18px !important;
  color: #fff !important;
  font: 650 11px/1.25 var(--r53-sans) !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

html body.gl-r53 .r53-site[data-site-production-root] .r53-footer-legal {
  grid-column: 1 / -1 !important;
  margin-top: 18px !important;
  padding-top: 22px !important;
  border-top: 1px solid var(--r75-line-dark) !important;
}

/* Tablet is recomposed; it is never a compressed desktop. */
@media (max-width: 980px) {
  :root {
    --r75-edge: clamp(24px, 5vw, 38px);
    --r75-section: clamp(60px, 8vw, 82px);
    --r75-section-tight: clamp(46px, 6vw, 64px);
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r54-route-hero-grid,
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero.r53-page-hero-has-media .r54-route-hero-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(280px, 48vw) !important;
    height: auto !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r54-route-hero-title {
    min-height: 300px !important;
    padding: 54px var(--r75-edge) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r53-page-hero-media {
    grid-row: 2 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 26px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-stage,
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-grid[data-r54-entry-count] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-grid[data-r54-entry-count="1"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] .r53-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Phone: one safe edge, full-width content, no blank sibling columns. */
@media (max-width: 640px) {
  :root {
    --r75-edge: 22px;
    --r75-section: 58px;
    --r75-section-tight: 44px;
    --r75-display: clamp(40px, 12vw, 52px);
    --r75-page-title: clamp(38px, 11vw, 48px);
    --r75-section-title: clamp(34px, 9.8vw, 43px);
    --r75-card-title: clamp(25px, 7vw, 31px);
    --r75-lead: 18px;
    --r75-body: 16px;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r53-eyebrow {
    margin-bottom: 14px !important;
    font-size: 10px !important;
  }

  /* The compact header keeps one explicit navigation owner. Older mobile
     layers may hide the language row and leave the disclosure at display:none;
     lock the real menu back into the second grid track on every locale. */
  html body.gl-r53 .r53-site[data-site-production-root] > .r53-header .r53-header-grid {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] > .r53-header .r53-menu {
    position: relative !important;
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] > .r53-header .r53-menu > summary {
    display: flex !important;
    min-width: 70px !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 8px 10px !important;
    border: 1px solid var(--r75-line) !important;
    background: #fff !important;
    color: var(--r75-ink) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r54-route-hero-grid,
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero.r53-page-hero-has-media .r54-route-hero-grid {
    grid-template-rows: auto minmax(230px, 66vw) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r54-route-hero-title {
    min-height: 270px !important;
    padding: 44px var(--r75-edge) 48px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main :where(.r54-home-authority-stage,.r54-home-authority-inner) {
    height: auto !important;
    min-height: 0 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-home-authority-copy {
    padding: 48px var(--r75-edge) 54px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-home-authority-copy h1 {
    max-width: 13ch !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-card {
    min-height: 132px !important;
    grid-template-columns: 38px minmax(0, 1fr) 20px !important;
    gap: 14px !important;
    padding: 24px 22px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-card .r53-practice-icon {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-stage,
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage,
  html body.gl-r53 .r53-site[data-site-production-root] main :where(.r58-media-library-grid,.r54-source-video-grid),
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-original-process-grid,
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-original-process-grid > .r54-original-process-steps,
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-grid[data-r54-entry-count],
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-bottom-inquiry-grid,
  html body.gl-r53 .r53-site[data-site-production-root] .r53-footer-top,
  html body.gl-r53 .r53-site[data-site-production-root] .r53-footer-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main :where(
    .r54-selected-person,
    .r54-selected-person-associate,
    .r54-firm-person
  ) > div {
    min-height: 250px !important;
    padding: 26px 24px 28px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about main :where(
    .r54-firm-story-group-proof,
    .r54-firm-story-group-authority,
    .r54-firm-story-group-process
  ) {
    padding-inline: var(--r75-edge) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry,
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry:nth-child(n) {
    padding: 26px 22px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq summary {
    grid-template-columns: minmax(0, 1fr) 38px !important;
    gap: 16px !important;
    min-height: 76px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq summary::after {
    width: 36px !important;
    height: 36px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-bottom-inquiry-grid {
    gap: 26px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] .r53-footer-top {
    align-items: start !important;
  }
}

/* Our Firm already owns its introduction rhythm. Remove the inherited
   editorial section inset so the hero does not lead into a false blank band. */
html body.gl-r53 .r53-site[data-site-production-root].r60-firm main > .r54-standard-firm-people {
  padding-top: 0 !important;
}

/* R75 terminal locks: older revision layers carry higher-specificity selectors.
   These rules make the shared component contract authoritative instead of
   allowing route- or breakpoint-local exceptions to win the cascade. */
html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-workspace .r54-practice-grid {
  display: grid !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1px !important;
  width: 100% !important;
  max-width: none !important;
  padding: 1px !important;
  overflow: visible !important;
  scroll-snap-type: none !important;
  background: var(--r75-line) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-workspace .r54-practice-grid > .r54-practice-card,
html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-workspace .r54-practice-grid > .r54-practice-card:nth-child(n) {
  grid-template-columns: 50px minmax(0, 1fr) 22px !important;
  min-width: 0 !important;
  min-height: 150px !important;
  margin: 0 !important;
  padding: 28px 30px !important;
  border: 0 !important;
  background: #fff !important;
  scroll-snap-align: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-workspace .r54-practice-grid > .r54-practice-card.is-active {
  background: var(--r75-red) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-grid .r54-selected-counsel-stage {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-grid .r54-selected-counsel-stage > .r54-selected-person,
html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-grid .r54-selected-counsel-stage > .r54-selected-person:nth-child(n),
html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage > .r54-firm-person,
html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage > .r54-firm-person:nth-child(n) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto 280px !important;
  align-content: stretch !important;
  height: 100% !important;
  min-height: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-grid .r54-selected-counsel-stage > .r54-selected-person > figure,
html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage > .r54-firm-person > figure {
  grid-row: 1 !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-grid .r54-selected-counsel-stage > .r54-selected-person > div,
html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage > .r54-firm-person > div {
  grid-row: 2 !important;
  min-height: 280px !important;
  height: 280px !important;
  padding: 30px 32px 32px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-home-authority-copy > .r53-hero-deck,
html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-route-hero-title,.r53-profile-hero-copy) > :where(.r53-deck,.r53-hero-deck,p:not(.r53-eyebrow)) {
  color: rgba(255, 255, 255, .84) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r53-eyebrow,
html body.gl-r53 .r53-site[data-site-production-root] main .r53-eyebrow:nth-child(n) {
  font-size: 11.5px !important;
  line-height: 1.3 !important;
  letter-spacing: .16em !important;
}

@media (max-width: 980px) {
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-workspace .r54-practice-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-grid .r54-selected-counsel-stage {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
  }
}

@media (max-width: 640px) {
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-workspace .r54-practice-grid > .r54-practice-card,
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-workspace .r54-practice-grid > .r54-practice-card:nth-child(n) {
    grid-template-columns: 42px minmax(0, 1fr) 20px !important;
    min-height: 104px !important;
    padding: 20px 18px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-grid .r54-selected-counsel-stage > .r54-selected-person,
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-grid .r54-selected-counsel-stage > .r54-selected-person:nth-child(n),
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage > .r54-firm-person,
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage > .r54-firm-person:nth-child(n) {
    grid-template-rows: auto 300px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-grid .r54-selected-counsel-stage > .r54-selected-person > div,
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage > .r54-firm-person > div {
    min-height: 300px !important;
    height: 300px !important;
    padding: 26px 24px 28px !important;
  }
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-person-summary,
html body.gl-r53 .r53-site[data-site-production-root] main .r54-selected-person .r54-person-summary,
html body.gl-r53 .r53-site[data-site-production-root] main .r54-firm-person .r54-person-summary {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-selected-person,.r54-firm-person) .r54-person-role {
  width: 100% !important;
  inline-size: 100% !important;
  max-width: 100% !important;
  justify-self: stretch !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
}

/* About: background zones may bleed to the viewport, but every heading and
   reading line resolves to the same safe shell. Count-aware grids never
   manufacture an empty track. */
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-content-firm-story,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-content-firm-story > .r54-firm-story-flow,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-narrative,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-groups {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group:nth-child(n) {
  width: 100vw !important;
  max-width: none !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: var(--r75-section) var(--r75-edge) !important;
  border: 0 !important;
  box-sizing: border-box !important;
  background: #fff !important;
  color: var(--r75-ink) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group:nth-child(even) {
  background: var(--r75-paper) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-authority {
  background: linear-gradient(135deg, #4b0712 0%, var(--r75-red) 100%) !important;
  color: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-heading,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-grid {
  width: min(100%, var(--r75-shell)) !important;
  max-width: var(--r75-shell) !important;
  margin-inline: auto !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-heading {
  margin-bottom: clamp(34px, 4vw, 56px) !important;
  padding: 0 0 24px !important;
  border-bottom: 1px solid var(--r75-line) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-heading h2 {
  max-width: 18ch !important;
  margin: 0 !important;
  color: inherit !important;
  font: 500 var(--r75-section-title)/1.02 var(--r53-serif) !important;
  letter-spacing: -.035em !important;
  text-wrap: balance !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-grid,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-grid[data-r54-entry-count] {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: clamp(18px, 2.4vw, 32px) !important;
  padding: 0 !important;
  background: transparent !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main :where(
  .r54-firm-story-group-capabilities,
  .r54-firm-story-group-principles,
  .r54-firm-story-group-process
) .r54-firm-story-group-grid[data-r54-entry-count="3"] {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-pathways .r54-firm-story-group-grid[data-r54-entry-count="4"] {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-pathways .r54-firm-story-group-grid[data-r54-entry-count="4"] > :first-child {
  grid-column: 1 / -1 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry:nth-child(n) {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: clamp(28px, 3vw, 42px) !important;
  border: 1px solid var(--r75-line) !important;
  background: rgba(255, 255, 255, .82) !important;
  color: var(--r75-ink) !important;
  box-shadow: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main :where(
  .r54-firm-story-group-opening,
  .r54-firm-story-group-proof,
  .r54-firm-story-group-authority
) .r54-firm-story-entry {
  max-width: 980px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-authority .r54-firm-story-group-heading {
  border-color: rgba(255, 255, 255, .34) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry h3 {
  max-width: 22ch !important;
  margin: 0 0 22px !important;
  color: inherit !important;
  font: 500 var(--r75-card-title)/1.06 var(--r53-serif) !important;
  letter-spacing: -.025em !important;
  text-wrap: balance !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry :where(.r54-narrative-chapter-body,.r54-narrative-chapter-body p) {
  color: inherit !important;
  font-size: var(--r75-body) !important;
  line-height: 1.72 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry .r54-narrative-chapter-body p {
  margin: 1em 0 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry .r54-narrative-chapter-body p:first-child {
  margin-top: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-pathway {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 22px !important;
  align-items: center !important;
  gap: 18px !important;
  width: 100% !important;
  min-height: 52px !important;
  margin-top: 28px !important;
  padding: 13px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--r75-line) !important;
  color: var(--r75-red) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-pathway-icon,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-pathway-icon svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  margin: auto !important;
}

@media (max-width: 980px) {
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main :where(
    .r54-firm-story-group-capabilities,
    .r54-firm-story-group-principles,
    .r54-firm-story-group-process,
    .r54-firm-story-group-pathways
  ) .r54-firm-story-group-grid[data-r54-entry-count] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-pathways .r54-firm-story-group-grid[data-r54-entry-count="4"] > :first-child {
    grid-column: 1 !important;
  }
}

@media (max-width: 640px) {
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group,
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group:nth-child(n) {
    padding: 58px var(--r75-edge) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-heading {
    margin-bottom: 28px !important;
    padding-bottom: 20px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry,
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry:nth-child(n) {
    padding: 28px 24px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about main :where(
    .r54-firm-story-group-opening,
    .r54-firm-story-group-proof,
    .r54-firm-story-group-authority
  ) .r54-firm-story-entry {
    padding: 0 !important;
  }
}

/* Exact route lock for the legacy About cascade. The #r53-main anchor is
   intentional: old revision selectors otherwise override the safe shell. */
html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group,
html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group:nth-child(n) {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  padding: var(--r75-section) var(--r75-edge) !important;
  box-sizing: border-box !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group .r54-firm-story-group-heading,
html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group .r54-firm-story-group-grid {
  width: min(100%, var(--r75-shell)) !important;
  max-width: var(--r75-shell) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group .r54-firm-story-entry,
html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group .r54-firm-story-entry:nth-child(n) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: clamp(28px, 3vw, 42px) !important;
  box-sizing: border-box !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main :where(
  .r54-firm-story-group-opening,
  .r54-firm-story-group-proof,
  .r54-firm-story-group-authority
) .r54-firm-story-entry {
  max-width: 980px !important;
  padding: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group .r54-firm-story-entry h3 {
  font-size: clamp(27px, 2.1vw, 34px) !important;
  line-height: 1.06 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group .r54-narrative-chapter-body,
html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group .r54-narrative-chapter-body p {
  font-size: 18px !important;
  line-height: 1.72 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-pathway-icon:empty::before {
  display: block !important;
  content: "→" !important;
  font: 700 18px/1 sans-serif !important;
}

@media (max-width: 980px) {
  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group .r54-firm-story-group-grid[data-r54-entry-count] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group-pathways .r54-firm-story-group-grid[data-r54-entry-count="4"] > :first-child {
    grid-column: 1 !important;
  }
}

@media (max-width: 640px) {
	 html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-counsel-intro {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 16px !important;
		padding: 48px 0 30px !important;
	 }

	 html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-counsel-eyebrow {
		margin-bottom: 2px !important;
	 }

	 html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-counsel-deck {
		font-size: 17px !important;
		line-height: 1.58 !important;
	 }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group,
  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group:nth-child(n) {
    padding: 58px var(--r75-edge) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group .r54-firm-story-entry,
  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group .r54-firm-story-entry:nth-child(n) {
    padding: 28px 24px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main :where(
    .r54-firm-story-group-opening,
    .r54-firm-story-group-proof,
    .r54-firm-story-group-authority
  ) .r54-firm-story-entry {
    padding: 0 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group .r54-narrative-chapter-body,
  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group .r54-narrative-chapter-body p {
    font-size: 17.5px !important;
  }
}

html body.gl-r53 .r53-site[data-site-production-root].r60-firm #r53-main .r54-firm-people-stage {
  padding-bottom: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-firm #r53-main .r54-editorial-narrative-prose {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* One centered action-icon contract. Direct SVG icons are square themselves;
   directory controls retain a full 44px hit target with the vector centered. */
html body.gl-r53 .r53-site[data-site-production-root] svg.r67-inline-action-icon {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  aspect-ratio: 1 !important;
  align-self: center !important;
  justify-self: center !important;
  transform: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r74-article-navigation-link .r67-inline-action-icon {
  display: grid !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  place-items: center !important;
  align-self: center !important;
  line-height: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] .r54-practice-directory-action {
  display: grid !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  place-items: center !important;
  overflow: visible !important;
}

html body.gl-r53 .r53-site[data-site-production-root] .r54-practice-directory-action > span {
  display: grid !important;
  width: 24px !important;
  height: 24px !important;
  place-items: center !important;
  overflow: visible !important;
  transform: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] .r54-practice-directory-action svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  transform: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-directory-heading h2 {
  width: 100% !important;
  max-width: none !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
}

/* Profile heroes are dark in every locale, so their eyebrow is neutral white
   rather than the paper-surface brand red. */
html body.gl-r53 .r53-site[data-site-production-root] main .r53-profile-hero .r53-eyebrow,
html body.gl-r53 .r53-site[data-site-production-root] main .r53-profile-hero .r53-eyebrow :where(span,strong) {
  color: rgba(255, 255, 255, .88) !important;
}

/* Count-aware About grids: the narrative lead in pathway groups spans the
   full row; the remaining actionable entries use exactly their real count. */
@media (min-width: 981px) {
  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main :where(.r54-firm-story-group-capabilities,.r54-firm-story-group-principles,.r54-firm-story-group-process) .r54-firm-story-group-grid[data-r54-entry-count="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main :where(.r54-firm-story-group-capabilities,.r54-firm-story-group-principles,.r54-firm-story-group-process) .r54-firm-story-group-grid[data-r54-entry-count="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group-pathways .r54-firm-story-group-grid[data-r54-entry-count="3"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group-pathways .r54-firm-story-group-grid[data-r54-entry-count="3"] > :first-child {
    grid-column: 1 / -1 !important;
  }
}

/* Full-bleed evidence background, safe reading edge. */
@media (max-width: 640px) {
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-firm-evidence-stage .r54-firm-fact-seam > div,
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-firm-evidence-stage .r54-firm-fact-seam > div:nth-child(n) {
    padding: 22px var(--r75-edge) !important;
    box-sizing: border-box !important;
  }
}

/* People cards keep the same portrait ratio and copy geometry without hiding
   longer role/summary text at the 320, 390 and 720px boundaries. */
@media (max-width: 980px) {
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage > .r54-firm-person,
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage > .r54-firm-person:nth-child(n) {
    grid-template-rows: auto 320px !important;
    height: auto !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage > .r54-firm-person > div {
    min-height: 320px !important;
    height: 320px !important;
  }
}

@media (max-width: 640px) {
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage > .r54-firm-person,
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage > .r54-firm-person:nth-child(n) {
    grid-template-rows: auto 360px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-people-stage > .r54-firm-person > div {
    min-height: 360px !important;
    height: 360px !important;
  }
}

/* Dark surfaces use a high-contrast neutral eyebrow; brand red remains the
   accent on paper surfaces and never becomes low-contrast red-on-burgundy. */
html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-home-authority,.r58-founder-authority) .r53-eyebrow,
html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-home-authority,.r58-founder-authority) .r53-eyebrow :where(span,strong) {
  color: rgba(255, 255, 255, .88) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro .r53-section-heading h2 {
  width: min(100%, 15ch) !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
}

@media (prefers-reduced-motion: reduce) {
  html body.gl-r53 .r53-site[data-site-production-root] * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}
