/* R139 semantic natural-wrap enforcement.
 *
 * The source string remains exact and continuous in textContent. Inline atoms
 * protect only locale-authored grammatical, legal, proper-name and sentence
 * units. They are not target rows, viewport-specific copy or forced breaks. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3) > span.r139-semantic-unit[data-r139-semantic-unit],
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3) > a > span.r139-semantic-unit[data-r139-semantic-unit] {
  display: inline-block !important;
  inline-size: auto !important;
  width: auto !important;
  max-inline-size: 100%;
  max-width: 100%;
  overflow-wrap: normal !important;
  hyphens: none !important;
  vertical-align: baseline;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3)
  > span.r139-semantic-unit[data-r139-wrap-mode="atomic"],
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3)
  > a > span.r139-semantic-unit[data-r139-wrap-mode="atomic"] {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* A flow group is one complete clause, sentence or long compound service
 * group. It may use only the source string's native language opportunities;
 * it is never a target row and never shares text with an adjacent group. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3)
  > span.r139-semantic-unit[data-r139-wrap-mode="flow"],
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3)
  > a > span.r139-semantic-unit[data-r139-wrap-mode="flow"] {
  display: inline !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* A sentence, legal-service phrase or complete clause may need internal native
 * wrapping but must not exchange words with its neighbour. `fit-content`
 * isolates that meaning group without prescribing a target row or break. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3)
  > span.r139-semantic-unit[data-r139-wrap-mode="flow"][data-r139-flow-scope="isolated"],
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3)
  > a > span.r139-semantic-unit[data-r139-wrap-mode="flow"][data-r139-flow-scope="isolated"] {
  display: inline-block !important;
  inline-size: fit-content !important;
  width: fit-content !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  text-wrap: balance !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3):has(> .r139-semantic-unit),
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3):has(> a > .r139-semantic-unit) {
  /* The heading owns its real content track. Leaving a semantic heading at
   * shrink-to-fit made the child unit's 100% cap feed back into the parent's
   * used width, so intact words painted outside an artificially narrow box. */
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  /* Browser-native `pretty` wrapping reduces short residue lines without
   * prescribing a line count or inserting authored break opportunities. */
  text-wrap: pretty !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

/* Korean public headings may wrap between authored phrases, never through a
 * Korean word. This terminal rule closes the earlier specificity conflict. */
html[lang^="ko"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3) {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  line-break: auto !important;
}

html[lang^="ko"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3)
  > span.r139-semantic-unit[data-r139-wrap-mode="flow"],
html[lang^="ko"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3)
  > a > span.r139-semantic-unit[data-r139-wrap-mode="flow"] {
  word-break: keep-all !important;
  line-break: auto !important;
}

/* Chinese prose keeps strict native punctuation behaviour. Semantic heading
 * atoms above remain indivisible, including the service separator. */
html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3) {
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-break: strict !important;
}

html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r54-route-hero
  h1[data-r78-hero-title][data-r139-semantic-heading] {
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-break: strict !important;
}

html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3)
  > span.r139-semantic-unit[data-r139-wrap-mode="flow"],
html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3)
  > a > span.r139-semantic-unit[data-r139-wrap-mode="flow"] {
  word-break: normal !important;
  line-break: strict !important;
}

@media (max-width: 760px) {
  /* Practice heroes use the same mobile copy rail in every locale. The title
   * wrapper may not collapse to a child atom's shrink-to-fit width. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main
    :is(.r54-route-hero-practice-family, .r54-route-hero-practice-media-led, .r54-route-hero-practice-asset-gap)
    .r54-route-hero-title {
    box-sizing: border-box !important;
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: none !important;
    max-width: none !important;
    min-inline-size: 0 !important;
  }

  html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-practice-workspace-heading {
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: none !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }

  /* When approved route media is unavailable, the practice mark remains a
   * quiet corner signature instead of taking a second text column. This keeps
   * the same full-width title rail while preserving the established hero
   * plane and source hierarchy. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero-practice-asset-gap
    .r54-route-hero-grid {
    position: relative !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero-practice-asset-gap
    .r54-route-hero-title {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero-practice-asset-gap
    .r54-practice-hero-mark {
    position: absolute !important;
    inset-inline-end: 0 !important;
    inset-block-end: 0 !important;
    inline-size: 92px !important;
    width: 92px !important;
    block-size: 92px !important;
    height: 92px !important;
  }

  /* Long headings keep the established 36px display floor. Flow groups take
   * additional natural lines instead of shrinking type or painting outside the
   * shared public rail. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main h1:has(> .r139-semantic-unit[data-r139-mobile-scale="compact"]) {
    font-size: clamp(36px, 9.2vw, 38px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"]
    main#r53-main#r53-main
    :is(.r54-route-hero-practice-family, .r54-route-hero-practice-media-led, .r54-route-hero-practice-asset-gap)
    .r54-route-hero-title > h1[data-r78-hero-title][data-r139-semantic-heading] {
    font-size: 36px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.075em !important;
  }

  /* Chinese practice titles carry an exact source separator between the legal
   * role and served geography. The locale rail gives the registered role and
   * geography atoms enough room at the shared 34px mobile display scale so
   * the separator never becomes the first glyph of a line. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="zh"]
    main#r53-main#r53-main
    :is(.r54-route-hero-practice-family, .r54-route-hero-practice-media-led, .r54-route-hero-practice-asset-gap)
    .r54-route-hero-title {
    inline-size: calc(100% + 24px) !important;
    width: calc(100% + 24px) !important;
    max-inline-size: calc(100% + 24px) !important;
    max-width: calc(100% + 24px) !important;
    margin-inline: -12px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="zh"]
    main#r53-main#r53-main
    :is(.r54-route-hero-practice-family, .r54-route-hero-practice-media-led, .r54-route-hero-practice-asset-gap)
    .r54-route-hero-title > h1[data-r78-hero-title][data-r139-semantic-heading] {
    font-size: 34px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.04em !important;
  }

  /* R138's FAQ-only 7.9em measure manufactured a visual line pattern. The
   * shared rail and semantic atoms now determine its natural composition. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"]
    main#r53-main#r53-main .r87-purpose-hero-faq
    .r54-route-hero-title > h1[data-r78-hero-title] {
    inline-size: 100% !important;
    max-inline-size: 100% !important;
    text-wrap: pretty !important;
  }
}

/* Credential and profile-chapter roles retain their approved type size. A
 * small role-level tracking correction prevents sub-pixel paint outside the
 * real rail without slicing, replacing or shrinking the source text. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r54-standard-firm-people
  .r54-narrative-chapter > h2:has(> .r139-semantic-unit),
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r65-profile-record
  .r54-counsel-chapter > h2:has(> .r139-semantic-unit) {
  letter-spacing: -0.04em !important;
}

@media (max-width: 350px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"]
    main#r53-main#r53-main
    :is(.r54-route-hero-practice-family, .r54-route-hero-practice-media-led, .r54-route-hero-practice-asset-gap)
    .r54-route-hero-title > h1[data-r78-hero-title][data-r139-semantic-heading] {
    letter-spacing: -0.085em !important;
  }
}

/* R139's two project-licensed law photographs are already daylight-balanced.
 * Keep their pixels neutral and put contrast across the complete visual stage,
 * never behind an eyebrow, title or support paragraph as a plaque. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main
  :is(
    .r54-route-hero[data-r87-media-asset="envato-family-law-consultation-95f09446-r139"],
    .r54-route-hero[data-r87-media-asset="envato-legal-resources-research-6ff24800-r139"]
  )
  .r53-page-hero-media
  :is(.r54-route-hero-responsive-picture > img, .r53-page-hero-image) {
  filter: brightness(1) saturate(.98) contrast(.98) !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main
  :is(
    .r54-route-hero[data-r87-media-asset="envato-family-law-consultation-95f09446-r139"],
    .r54-route-hero[data-r87-media-asset="envato-legal-resources-research-6ff24800-r139"]
  )
  > .r54-route-hero-grid::before {
  display: block !important;
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(24, 6, 12, .82) 0%,
    rgba(24, 6, 12, .70) 38%,
    rgba(24, 6, 12, .28) 63%,
    rgba(24, 6, 12, .08) 78%,
    rgba(24, 6, 12, .02) 100%
  ) !important;
  box-shadow: none !important;
  content: "" !important;
  pointer-events: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main
  :is(
    .r54-route-hero[data-r87-media-asset="envato-family-law-consultation-95f09446-r139"],
    .r54-route-hero[data-r87-media-asset="envato-legal-resources-research-6ff24800-r139"]
  )
  :is(.r54-route-hero-title, .r53-page-side, .r53-eyebrow, h1, p) {
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

@media (max-width: 760px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main
    :is(
      .r54-route-hero[data-r87-media-asset="envato-family-law-consultation-95f09446-r139"],
      .r54-route-hero[data-r87-media-asset="envato-legal-resources-research-6ff24800-r139"]
    )
    > .r54-route-hero-grid::before {
    background: linear-gradient(
      90deg,
      rgba(24, 6, 12, .80) 0%,
      rgba(24, 6, 12, .72) 62%,
      rgba(24, 6, 12, .60) 82%,
      rgba(24, 6, 12, .38) 100%
    ) !important;
  }
}

/* The Home opening consumes the same exact desktop/mobile Envato derivatives
 * as its route-media contract. The picture owns the complete media plane;
 * neither the image nor its contrast treatment creates an inset text plaque. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main
  .r54-home-authority[data-r136-media-state="EXACT_ENVATO_PROJECT_LICENSED_ASSET_BOUND"]
  .r54-home-authority-media > .r54-media-responsive-picture {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  inline-size: 100% !important;
  width: 100% !important;
  block-size: 100% !important;
  height: 100% !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main
  .r54-home-authority[data-r136-media-state="EXACT_ENVATO_PROJECT_LICENSED_ASSET_BOUND"]
  .r54-home-authority-media .r53-hero-image {
  object-position: var(--r54-media-focus-wide, 50% 50%) !important;
  filter: brightness(1) saturate(.98) contrast(.98) !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main
  .r54-home-authority[data-r136-media-state="EXACT_ENVATO_PROJECT_LICENSED_ASSET_BOUND"]
  > .r54-home-authority-stage::after {
  display: block !important;
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(24, 6, 12, .84) 0%,
    rgba(24, 6, 12, .72) 40%,
    rgba(24, 6, 12, .28) 66%,
    rgba(24, 6, 12, .05) 100%
  ) !important;
  content: "" !important;
  pointer-events: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main
  .r54-home-authority[data-r136-media-state="EXACT_ENVATO_PROJECT_LICENSED_ASSET_BOUND"]
  :is(.r54-home-authority-copy, .r53-eyebrow, h1, p) {
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

@media (max-width: 760px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main
    .r54-home-authority[data-r136-media-state="EXACT_ENVATO_PROJECT_LICENSED_ASSET_BOUND"]
    .r54-home-authority-media .r53-hero-image {
    object-position: var(--r54-media-focus-mobile, 50% 50%) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main
    .r54-home-authority[data-r136-media-state="EXACT_ENVATO_PROJECT_LICENSED_ASSET_BOUND"]
    > .r54-home-authority-stage::after {
    background: linear-gradient(
      180deg,
      rgba(24, 6, 12, .78) 0%,
      rgba(24, 6, 12, .68) 58%,
      rgba(24, 6, 12, .40) 100%
    ) !important;
  }
}

/* Home support copy is part of the same semantic typography system as the
 * display title. Chinese family/business phrases may reflow only between the
 * authored meaning atoms; no viewport-specific copy or forced break is used. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r79-home-audience-line
  > span.r139-semantic-unit[data-r139-semantic-unit] {
  display: inline-block !important;
  inline-size: auto !important;
  max-inline-size: 100% !important;
  vertical-align: baseline;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r79-home-audience-line
  > span.r139-semantic-unit[data-r139-wrap-mode="atomic"] {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

/* Korean public copy keeps complete words and particles together at every
 * width. Long machine identifiers retain their own escape hatch instead of
 * teaching ordinary prose to split syllables. */
html[lang^="ko"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :where(p, li, dd) {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  line-break: auto !important;
  hyphens: none !important;
}

html[lang^="ko"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :where(a, code, [data-machine-identifier]) {
  overflow-wrap: anywhere !important;
}

/* A rights-driven media-free practice fallback keeps the canonical hero
 * height, but centers its primary visual mass instead of leaving a large,
 * unexplained empty field beneath the title. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r54-route-hero-practice-asset-gap
  .r54-route-hero-title {
  align-self: center !important;
  justify-content: center !important;
}

/* The rights-safe media-free state is still the same practice-hero family.
 * At wide desktop it must consume the same 640px public copy rail as the
 * photographed service heroes; otherwise the fallback alone collapses to a
 * 368px rail and manufactures extra title lines. */
@media (min-width: 1441px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero-practice-asset-gap
    .r54-route-hero-title {
    max-inline-size: min(100vw, calc(var(--r1378-public-inset) + 688px)) !important;
    max-width: min(100vw, calc(var(--r1378-public-inset) + 688px)) !important;
  }
}

@media (max-width: 760px) {
  /* Mobile landmark copy uses the full public rail, so the copy-safe scrim
   * must reach the rail's far edge before fading. This is one stage gradient,
   * never a label or plaque behind individual text. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero[data-r136-hero-tone="landmark"]
    > .r54-route-hero-grid::before {
    background: linear-gradient(
      90deg,
      rgba(24, 6, 12, .68) 0%,
      rgba(24, 6, 12, .64) 58%,
      rgba(24, 6, 12, .58) 76%,
      rgba(24, 6, 12, .46) 88%,
      rgba(24, 6, 12, .34) 100%
    ) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero[data-r136-hero-tone="landmark"]
    :is(.r54-route-hero-title, .r53-page-side) {
    position: relative;
    z-index: 2;
  }
}

/* Heading roles use the real component rail. These are shared role scales,
 * not per-string fitting: the approved copy stays identical at every width,
 * while short residue words are prevented by proportion and measure. */
html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r54-practice-workspace-heading > h2 {
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  line-height: 0.98 !important;
  text-wrap: balance !important;
}

@media (min-width: 1021px) {
  /* The practice decision heading and the card grid share one stable desktop
   * composition. The heading receives enough real measure for two balanced
   * phrases instead of a manufactured three-row stack. */
  html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-practice-workspace {
    grid-template-columns: minmax(390px, 0.36fr) minmax(0, 0.64fr) !important;
    gap: clamp(48px, 5.5vw, 84px) !important;
  }
}

html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r54-original-process-grid > article
  > .r53-section-heading,
html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r54-original-process-grid > article
  > .r53-section-heading > h2 {
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r54-content-practice
  .r54-narrative-chapter > h2 {
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
  font-size: clamp(20px, 2.2vw, 30px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-wrap: balance !important;
}

@media (min-width: 821px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-content-practice
    .r54-narrative-chapter:not(.r54-narrative-chapter-lead) {
    grid-template-columns: minmax(300px, 0.38fr) minmax(0, 0.62fr) !important;
    gap: clamp(36px, 5vw, 72px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-content-practice
    .r54-narrative-chapter:not(.r54-narrative-chapter-lead)
    > .r54-narrative-chapter-body {
    grid-column: 2 !important;
  }
}

@media (max-width: 820px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-content-practice
    .r54-narrative-chapter:not(.r54-narrative-chapter-lead) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-content-practice
    .r54-narrative-chapter:not(.r54-narrative-chapter-lead)
    > .r54-narrative-chapter-body {
    grid-column: 1 !important;
  }
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r54-content-practice
  .r54-narrative-chapter-body > h3 {
  font-size: clamp(22px, 2.2vw, 31px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.03em !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r123-counsel-profile-system
  .r123-counsel-record .r54-counsel-chapter > :is(h2, h3) {
  max-inline-size: 100% !important;
  max-width: 100% !important;
  font-size: clamp(30px, 2.4vw, 34px) !important;
  line-height: 1.08 !important;
  text-wrap: balance !important;
}

@media (min-width: 981px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r123-counsel-profile-system
    .r123-counsel-record .r54-counsel-chapter {
    grid-template-columns: minmax(330px, 0.36fr) minmax(0, 0.64fr) !important;
    gap: clamp(36px, 5vw, 72px) !important;
  }
}

@media (max-width: 980px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r123-counsel-profile-system
    .r123-counsel-record .r54-counsel-chapter {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 24px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r123-counsel-profile-system
    .r123-counsel-record .r54-counsel-chapter > :is(h2, h3),
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r123-counsel-profile-system
    .r123-counsel-record .r54-counsel-chapter > .r54-counsel-chapter-body {
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: none !important;
    max-width: none !important;
  }
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r123-counsel-summary
  #r53-counsel-credentials {
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
  text-wrap: balance !important;
}

html body.gl-r53 .r53-site.r60-testimonials[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r54-testimonial-heading h2 {
  max-inline-size: 14ch !important;
  max-width: 14ch !important;
  font-size: clamp(44px, 5.2vw, 72px) !important;
  line-height: 0.96 !important;
  text-wrap: balance !important;
}

@media (max-width: 720px) {
  /* George's interview cards and the legal-resource archive retain a generous
   * readable title role, but no longer consume the mobile rail with desktop
   * display sizing or oversized inner padding. */
  html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r58-media-card > a > div {
    padding: 20px 16px !important;
  }

  html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r58-media-card h3 {
    font-size: clamp(22px, 6vw, 25px) !important;
    line-height: 1.1 !important;
  }

  html body.gl-r53 .r53-site.r60-article-archive[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r53-article-card-copy {
    padding: 22px 18px 26px !important;
  }

  html body.gl-r53 .r53-site.r60-article-archive[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r53-article-card-copy h2,
  html body.gl-r53 .r53-site.r60-article-archive[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r53-article-card-copy h2 > a {
    font-size: clamp(22px, 6vw, 25px) !important;
    line-height: 1.14 !important;
    text-wrap: balance !important;
  }

  html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-practice-workspace-heading > h2 {
    font-size: clamp(36px, 9.8vw, 42px) !important;
    line-height: 1 !important;
  }

  html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-contact-workflow-has-form
    .r53-contact-copy > .r53-section-heading > h2 {
    font-size: clamp(28px, 8vw, 32px) !important;
    line-height: 1.08 !important;
  }

  html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r58-founder-authority-copy > h2 {
    font-size: clamp(32px, 9vw, 36px) !important;
    line-height: 1.06 !important;
  }

  /* The three approved About sentences remain visually whole at the narrow
   * rail through one locale/role scale. No sentence, line count or viewport
   * replacement is authored. */
  html body.gl-r53 .r53-site.r60-about[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero-title
    > h1[data-r78-hero-title][data-r139-semantic-heading] {
    font-size: clamp(32px, 9.2vw, 36px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.055em !important;
  }
}

@media (max-width: 350px) {
  /* The narrow archive rail uses one compact card-title role for every
   * article. This prevents serif overhang from painting outside a 320px card
   * and answers the owner request to reduce oversized blog-card titles. */
  html body.gl-r53 .r53-site.r60-article-archive[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r53-article-card-copy {
    padding-inline: 12px !important;
  }

  html body.gl-r53 .r53-site.r60-article-archive[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r53-article-card-copy h2,
  html body.gl-r53 .r53-site.r60-article-archive[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r53-article-card-copy h2 > a {
    font-size: 21px !important;
    line-height: 1.16 !important;
    letter-spacing: -0.015em !important;
    text-wrap: balance !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r123-counsel-profile-system
    .r123-counsel-record .r54-counsel-chapter > :is(h2, h3) {
    font-size: 30px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r123-counsel-summary
    #r53-counsel-credentials {
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  html body.gl-r53 .r53-site.r60-testimonials[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-testimonial-heading h2 {
    font-size: 40px !important;
    line-height: 1.02 !important;
  }

  /* The Resources title remains a display heading while its approved purpose
   * phrase fits inside the canonical 320px rail without clipping. */
  html body.gl-r53 .r53-site.r60-article-archive[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero-title
    > h1[data-r78-hero-title][data-r139-semantic-heading] {
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  html body.gl-r53 .r53-site.r60-practice-detail[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main
    :is(.r54-route-hero-practice-family, .r54-route-hero-practice-media-led, .r54-route-hero-practice-asset-gap)
    .r54-route-hero-title
    > h1[data-r78-hero-title][data-r139-semantic-heading] {
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  /* The Chinese founder credential keeps the complete parenthetical together
   * at one compact section-heading role; this is not a hero-size override. */
  html[lang^="zh"] body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r58-founder-authority-copy > h2 {
    font-size: 30px !important;
  }

  html body.gl-r53 .r53-site.r60-about[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero-title
    > h1[data-r78-hero-title][data-r139-semantic-heading] {
    inline-size: calc(100% + 8px) !important;
    width: calc(100% + 8px) !important;
    max-inline-size: calc(100% + 8px) !important;
    max-width: calc(100% + 8px) !important;
    margin-inline: -4px !important;
    letter-spacing: -0.07em !important;
  }

  html body.gl-r53 .r53-site.r60-about[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-firm-story-group-heading > h2 {
    font-size: 30px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
  }
}

@media (min-width: 761px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main
    :is(.r54-route-hero-practice-family, .r54-route-hero-practice-media-led, .r54-route-hero-practice-asset-gap)
    .r54-route-hero-title > h1[data-r78-hero-title][data-r139-semantic-heading] {
    font-size: 50px !important;
  }
}

/* Contact office identity is a section heading, not another hero display.
 * Its inherited 15ch cap was shrinking the heading box inside an already
 * bounded grid track, which made an intact proper name paint outside the
 * measure. Give the semantic heading the whole track and let only the exact
 * source phrases wrap at their native opportunities. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r53-office-record .r53-section-heading {
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r53-office-record .r53-section-heading > h2 {
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  overflow: visible !important;
}

/* A published work title remains intact. On narrow profile rails the book
 * record recomposes vertically so the title receives the full copy measure;
 * the title is never squeezed beside its cover or reduced by measurement. */
@media (max-width: 620px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r138-george-author-work {
    grid-template-columns: minmax(0, 1fr) !important;
    column-gap: 0 !important;
    row-gap: 18px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r138-george-author-work-media {
    grid-column: 1 !important;
    grid-row: 1 !important;
    inline-size: 116px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r138-george-author-work-heading {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r138-george-author-work-copy {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r138-george-author-work-heading > h3 {
    max-inline-size: none !important;
    font-size: clamp(24px, 7vw, 28px) !important;
  }

  /* The complete English corporate name and its Chinese parenthetical are
   * identity atoms. Use the mobile section-heading role instead of allowing
   * either name or a closing parenthesis to paint outside the office rail. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r53-office-record .r53-section-heading > h2 {
    font-size: clamp(24px, 7.65vw, 30px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.025em !important;
  }
}

/* The final-content lead column remains useful at tablet width. The inherited
 * 0.82/1.58 split left an approved short action heading narrower than its own
 * words. This is one shared two-track proportion, not a viewport copy edit. */
@media (min-width: 761px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r138-final-section {
    grid-template-columns: minmax(250px, 1fr) minmax(0, 1.4fr) !important;
  }
}

/* Form-workflow headings own their actual copy column. The older 12ch cap
 * forced a one-word verb above its article phrase despite ample panel width. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r54-contact-workflow-has-form
  .r53-contact-copy > .r53-section-heading,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r54-contact-workflow-has-form
  .r53-contact-copy > .r53-section-heading > h2 {
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
  font-size: clamp(31px, 3vw, 40px) !important;
}

@media (max-width: 350px) {
  /* At the narrowest supported rail the complete noun clause remains intact.
   * This fixed locale/role tracking is part of the compact display scale; it
   * does not measure, slice, replace or shrink the approved source string. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"].r60-contact
    main#r53-main#r53-main
    .r54-route-hero-title > h1[data-r78-hero-title][data-r139-semantic-heading] {
    letter-spacing: -0.095em !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"].r60-about
    main#r53-main#r53-main
    .r54-route-hero-title > h1[data-r78-hero-title][data-r139-semantic-heading] {
    letter-spacing: -0.055em !important;
  }
}
