/* R124 — terminal BWS responsive-integrity layer.
   This file closes four verified cross-route regressions at the final cascade:
   semantic heading atoms, factual Contact media, counsel reflow, and narrow
   profile descendants. It does not redesign or rewrite route content. */

/* A protected phrase is one meaning unit. The <wbr> between atoms remains the
   only optional responsive break; browsers must not split inside the phrase. */
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r87-purpose-hero h1 .r87-hero-phrase,
html body.gl-r53 .r53-site.r60-home[data-site-production-root] #r53-main
  .r54-home-authority h1 .r87-hero-phrase {
  display: inline-block !important;
  inline-size: auto !important;
  width: auto !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  line-break: strict !important;
  vertical-align: baseline !important;
}

/* Contact uses the same factual office byte with a bounded responsive crop.
   The reception desk, cabinet/door and partial glass office remain visible. */
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r87-purpose-hero-contact.r53-page-hero-has-media
  .r53-page-hero-media {
  background: #24030b !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r87-purpose-hero-contact.r53-page-hero-has-media
  .r53-page-hero-media .r54-route-hero-responsive-picture {
  display: block !important;
  inline-size: 100% !important;
  width: 100% !important;
  block-size: 100% !important;
  height: 100% !important;
  background: #24030b !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r87-purpose-hero-contact.r53-page-hero-has-media
  .r53-page-hero-media :is(.r54-route-hero-responsive-picture > img, .r53-page-hero-image),
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r87-purpose-hero-contact.r54-route-hero-media-contain
  .r53-page-hero-media > .r53-page-hero-image {
  inline-size: 100% !important;
  width: 100% !important;
  block-size: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 52% !important;
  background: #24030b !important;
}

@media (max-width: 620px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-route-hero.r87-purpose-hero-contact.r53-page-hero-has-media
    .r53-page-hero-media :is(.r54-route-hero-responsive-picture > img, .r53-page-hero-image),
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-route-hero.r87-purpose-hero-contact.r53-page-hero-has-media
    .r53-page-hero-media > .r53-page-hero-image {
    object-position: 50% 50% !important;
  }
}

/* Old Elementor/profile rules carried fixed widths into two counsel routes at
   phone and 200% reflow. The shared profile component owns its descendants. */
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r123-counsel-profile-system :is(
    .r54-counsel-biography-grid,
    .r123-counsel-summary,
    .r123-counsel-record,
    .r65-profile-stream,
    .r54-counsel-chapter,
    .r54-counsel-chapter-body,
    .r123-counsel-biography,
    .r65-biography-copy
  ) {
  min-inline-size: 0 !important;
  min-width: 0 !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r123-counsel-profile-system :is(
    .r54-counsel-chapter-body,
    .r123-counsel-biography,
    .r65-biography-copy
  ) :is(p, ul, ol, li, blockquote) {
  position: static !important;
  inset: auto !important;
  inline-size: auto !important;
  width: auto !important;
  min-inline-size: 0 !important;
  min-width: 0 !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  box-sizing: border-box !important;
  transform: none !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

html[lang^="ko"] body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r123-counsel-profile-system :is(.r54-counsel-chapter-body, .r123-counsel-biography, .r65-biography-copy) :is(p, li),
html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r123-counsel-profile-system :is(.r54-counsel-chapter-body, .r123-counsel-biography, .r65-biography-copy) :is(p, li) {
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  line-break: strict !important;
}

/* The R54 phone disclosure predates the R123 counsel record. Its fixed block
   height can make a CSS multi-column element create a second horizontal
   fragment even when computed column-count is one. Current profiles therefore
   stay source-complete, naturally sized and single-column; a stale/cached
   enhancer cannot clip or move biography copy off canvas. */
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r123-counsel-profile-system .r54-counsel-chapter-body[data-r54-collapsible] {
  block-size: auto !important;
  height: auto !important;
  max-block-size: none !important;
  max-height: none !important;
  overflow: visible !important;
  columns: auto !important;
  column-count: 1 !important;
  column-width: auto !important;
  column-gap: normal !important;
  column-rule: 0 !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r123-counsel-profile-system .r54-counsel-expand {
  display: none !important;
}

@media (max-width: 820px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r123-counsel-profile-system > .r54-counsel-biography-grid {
    inline-size: min(calc(100% - 40px), 620px) !important;
    width: min(calc(100% - 40px), 620px) !important;
    max-inline-size: calc(100% - 40px) !important;
    max-width: calc(100% - 40px) !important;
    margin-inline: auto !important;
    overflow: clip !important;
  }

  /* A legacy wide-screen multi-column declaration can survive on the biography
     copy even after its outer profile grid has collapsed. Reset every member of
     the mobile profile flow to the available inline size and retire columns at
     the same terminal cascade position. */
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r123-counsel-profile-system :is(
      .r123-counsel-summary,
      .r123-counsel-record,
      .r65-profile-stream,
      .r54-counsel-chapter,
      .r54-counsel-chapter-body,
      .r123-counsel-biography,
      .r65-biography-copy,
      .r65-biography-copy > p
    ) {
    inline-size: 100% !important;
    width: 100% !important;
    min-inline-size: 0 !important;
    min-width: 0 !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r123-counsel-profile-system .r65-biography-copy {
    columns: auto !important;
    column-count: 1 !important;
    column-width: auto !important;
    column-gap: normal !important;
    column-rule: 0 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r123-counsel-profile-system .r65-biography-copy > p {
    column-span: none !important;
    break-inside: auto !important;
  }
}

@media (max-width: 360px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r123-counsel-profile-system > .r54-counsel-biography-grid {
    inline-size: calc(100% - 32px) !important;
    width: calc(100% - 32px) !important;
    max-inline-size: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
  }
}

/* R134 multilingual staging-readiness corrections.
   The package ships only real 400 and 600 faces for every supported script.
   Disable browser-synthesized weights so intermediate/heavier semantic tokens
   resolve to the nearest licensed local face instead of faux-bold glyphs. */
html body.gl-r53 .r53-site[data-site-production-root] {
  font-synthesis: none !important;
}

/* Menu language choices are operational controls. Bind the exact mounted
   descendants to the shared 44px minimum without changing their morphology. */
@media (max-width: 1239px) {
  html body.gl-r53 .r53-site[data-site-production-root]
    .r77-menu-language-links :where(a, span) {
    min-block-size: 44px !important;
    min-height: 44px !important;
  }
}

/* R136 client-approved content corrections. The mission is intentionally a
   static information line inside the existing Home hero; it has no control
   semantics, disclosure state, hover dependency or JavaScript hook. */
html body.gl-r53 .r53-site[data-site-production-root] #r53-main .r136-home-mission {
  max-inline-size: 46ch;
  margin-block: 22px 0;
  padding-block-start: 18px;
  border-block-start: 1px solid color-mix(in srgb, currentColor 28%, transparent);
  color: inherit;
  font: 400 clamp(15px, 1.2vw, 18px)/1.55 var(--r53-sans);
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main .r136-home-mission strong {
  font-weight: 600;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  :is(.r79-home-audience-line,.r136-home-mission) .r1378-semantic-atom {
  /* Keep the authored semantic spans in the text stream. A semantic unit is
     a preferred reading phrase, not an unbreakable 424px box: at narrow
     widths the browser must still wrap at its natural word boundaries. */
  display: inline;
  white-space: normal;
}

/* In the intermediate/wide composition each authored phrase fits its measured
   copy rail, so retain the preferred phrase boundary. The narrow modes above
   remain ordinary inline text and can reflow safely instead of clipping. */
@media (min-width: 721px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    :is(.r79-home-audience-line,.r136-home-mission) .r1378-semantic-atom {
    display: inline-block;
    white-space: nowrap;
  }
}

@media (min-width: 1180px) {
  html body.gl-r53 .r53-site.r60-home[data-site-production-root] #r53-main
    .r54-home-authority-copy .r79-home-audience-line {
    max-inline-size: 44ch !important;
    max-width: 44ch !important;
  }

  html body.gl-r53 .r53-site.r60-home[data-site-production-root] #r53-main
    .r54-home-authority-copy .r136-home-mission {
    max-inline-size: 60ch !important;
    max-width: 60ch !important;
  }
}

/* Preserve the source paragraph boundaries that James identified on About.
   The incumbent pathways rule sets a physical margin shorthand with !important,
   so bind both logical and physical block-start margins at the exact owning
   story entry instead of relying on declaration order alone. */
html body.gl-r53 .r53-site.r60-about[data-site-production-root] #r53-main
  .r54-content-firm-story .r54-firm-story-entry
  .r54-narrative-chapter-body > p + p {
  margin-block-start: clamp(1rem, 1.1vw, 1.25rem) !important;
  margin-top: clamp(1rem, 1.1vw, 1.25rem) !important;
}

html body.gl-r53 .r53-site.r60-about[data-site-production-root] #r53-main
  .r54-content-firm-story .r54-firm-story-group-pathways
  .r54-firm-story-entry:first-child
  .r54-narrative-chapter-body > p + p {
  margin-block-start: clamp(1rem, 1.1vw, 1.25rem) !important;
  margin-top: clamp(1rem, 1.1vw, 1.25rem) !important;
}

/* All six selected service bodies share the incumbent Family Law authority
   morphology. This terminal selector changes no copy or route ordering. */
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-content-practice.r54-standard-r136-family-format-approved-live-section
  .r54-narrative-chapter {
  border-inline-start-color: var(--r53-oxblood);
}

@media (max-width: 620px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main .r136-home-mission {
    margin-block-start: 18px;
    padding-block-start: 14px;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main .r136-home-mission strong {
    display: block;
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: .11em;
    text-transform: uppercase;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main .r136-home-mission span {
    display: block;
    max-inline-size: 30ch;
    margin-block-start: 6px;
    font-size: 15px;
    line-height: 1.5;
  }
}

/* R136 measured hero tone correction. Brightness is recovered by removing the
   stacked legacy media overlays; one bounded overlay remains for the text zone.
   Source pixels are not destructively graded. */
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-home-authority[data-r136-hero-tone="law"] .r54-home-authority-media::after {
  background: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-home-authority[data-r136-hero-tone="law"] .r54-home-authority-stage::after {
  display: block !important;
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(21,5,10,.66) 0%, rgba(40,7,16,.54) 38%, rgba(42,8,17,.20) 62%, rgba(19,5,9,.08) 78%, transparent 100%),
    linear-gradient(0deg, rgba(20,4,9,.10), transparent 42%) !important;
  content: "" !important;
  pointer-events: none !important;
}

/* The tone layer belongs between the photo and every interactive/text layer.
   Explicit stacking on both the shell and copy prevents a positioned stage
   pseudo-element from dimming or intercepting the Home information plane. */
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-home-authority[data-r136-hero-tone="law"] .r54-home-authority-inner,
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-home-authority[data-r136-hero-tone="law"] .r54-home-authority-copy {
  position: relative !important;
  z-index: 2 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-home-authority[data-r136-hero-tone="law"] .r53-hero-image {
  object-position: 66% 50% !important;
  filter: brightness(1.10) saturate(1.02) contrast(1) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero[data-r136-hero-tone] > .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,.70) 0%, rgba(24,6,12,.58) 34%, rgba(24,6,12,.14) 58%, rgba(24,6,12,.03) 72%, transparent 80%) !important;
  box-shadow: none !important;
  content: "" !important;
  pointer-events: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero[data-r136-hero-tone] :is(.r54-route-hero-title,.r87-purpose-hero-copy,.r53-page-side) {
  position: relative !important;
  z-index: 2 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero[data-r136-hero-tone] .r53-page-hero-media::after {
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r87-purpose-hero[data-r136-hero-tone="law"] .r53-page-hero-media :is(.r54-route-hero-responsive-picture > img,.r53-page-hero-image),
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-hero-tone="law"] .r53-page-hero-media :is(.r54-route-hero-responsive-picture > img,.r53-page-hero-image),
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r87-purpose-hero[data-r136-hero-tone="landmark-held"] .r53-page-hero-media :is(.r54-route-hero-responsive-picture > img,.r53-page-hero-image),
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-hero-tone="landmark-held"] .r53-page-hero-media :is(.r54-route-hero-responsive-picture > img,.r53-page-hero-image) {
  filter: brightness(1.12) saturate(1.02) contrast(1) !important;
}

/* Rights-admitted daylight landmarks use the measured lighter treatment. The
   terminal selectors deliberately match both R87 route families and exceed
   the specificity of their legacy filter:none declarations. */
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r87-purpose-hero[data-r136-hero-tone="landmark"] .r53-page-hero-media :is(.r54-route-hero-responsive-picture > img,.r53-page-hero-image),
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-hero-tone="landmark"] .r53-page-hero-media :is(.r54-route-hero-responsive-picture > img,.r53-page-hero-image) {
  filter: brightness(1.02) saturate(.98) contrast(.98) !important;
}

/* Exact Notarization slot: small shadow recovery without changing any other
   law, landmark or phone-specific grade. */
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-hero-tone="law"][data-r136-media-order="9"]
  .r53-page-hero-media :is(.r54-route-hero-responsive-picture > img,.r53-page-hero-image) {
  filter: brightness(1.03) saturate(1.02) contrast(.94) !important;
}

/* R137.5 gives every photographic hero one eyebrow treatment. Its transparent
   surface preserves the photo; the single localized grid overlay owns contrast. */
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r53-page-hero-has-media .r53-eyebrow {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  inline-size: fit-content;
  max-inline-size: 100%;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: none !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  color: #fff !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r53-page-hero-has-media .r53-eyebrow > span {
  display: block !important;
  inline-size: 36px !important;
  width: 36px !important;
  block-size: 1px !important;
  height: 1px !important;
  background: currentColor !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero[data-r136-hero-tone] .r53-page-side > p {
  display: block !important;
  inline-size: auto !important;
  width: auto !important;
  max-inline-size: min(100%, 39ch) !important;
  max-width: 39ch !important;
  block-size: auto !important;
  height: auto !important;
  max-block-size: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  color: #fff !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

/* R137.6 binds hero typography to the project's established locale roles.
   English may use restrained display tracking and uppercase orientation copy;
   Korean and Chinese retain natural casing, neutral tracking and the taller
   leading required by their scripts. These are shared role rules, not route-
   local copy fitting, and they preserve every source string. */
html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="en"] #r53-main
  :is(.r54-home-authority .r61-home-hero-eyebrow,.r54-route-hero .r53-eyebrow,.r123-counsel-text-hero .r123-centered-eyebrow) {
  font-family: var(--r53-sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="ko"] #r53-main
  :is(.r54-home-authority .r61-home-hero-eyebrow,.r54-route-hero .r53-eyebrow,.r123-counsel-text-hero .r123-centered-eyebrow) {
  font-family: "GL54 CJK Sans", var(--r53-sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="zh"] #r53-main
  :is(.r54-home-authority .r61-home-hero-eyebrow,.r54-route-hero .r53-eyebrow,.r123-counsel-text-hero .r123-centered-eyebrow) {
  font-family: "GL54 SC Sans", "GL54 CJK Sans", var(--r53-sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="en"] #r53-main
  .r123-counsel-text-hero .r53-profile-role {
  font-family: var(--r53-sans) !important;
  line-height: 1.55 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="ko"] #r53-main
  .r123-counsel-text-hero .r53-profile-role {
  font-family: "GL54 CJK Sans", var(--r53-sans) !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="zh"] #r53-main
  .r123-counsel-text-hero .r53-profile-role {
  font-family: "GL54 SC Sans", "GL54 CJK Sans", var(--r53-sans) !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="en"] #r53-main
  :is(
    .r54-home-authority h1,
    .r54-route-hero.r87-purpose-hero h1,
    .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero) .r54-route-hero-title h1,
    .r123-counsel-text-hero h1
  ) {
  font-family: var(--r53-serif) !important;
  font-weight: 600 !important;
  line-height: 1.04 !important;
  letter-spacing: normal !important;
}

/* Route identities use neutral tracking. This avoids artificial compression
   and keeps the Contact firm name in the same complete-string contract. */
html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="en"] #r53-main
  .r54-route-hero h1,
html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="en"] #r53-main
  .r54-route-hero h1 .r1376-contact-lockup-part {
  letter-spacing: normal !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="ko"] #r53-main
  :is(
    .r54-home-authority h1,
    .r54-route-hero.r87-purpose-hero h1,
    .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero) .r54-route-hero-title h1,
    .r123-counsel-text-hero h1
  ) {
  font-family: "GL54 CJK Serif", var(--r53-serif) !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  line-break: strict !important;
  hyphens: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="zh"] #r53-main
  :is(
    .r54-home-authority h1,
    .r54-route-hero.r87-purpose-hero h1,
    .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero) .r54-route-hero-title h1,
    .r123-counsel-text-hero h1
  ) {
  font-family: "GL54 SC Serif", "GL54 CJK Serif", var(--r53-serif) !important;
  font-weight: 600 !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-break: strict !important;
  hyphens: none !important;
}

/* Exact source-bound long-title states recompose the complete H1 at narrow and
   200%-reflow-equivalent measures. Sizing belongs to the H1, never individual
   atoms, so every semantic unit keeps one typographic role. No runtime
   measurement, clipping or shrink-to-fit is used. */
@media (max-width: 620px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    h1[data-r1376-title-state="long-multi"] {
    font-size: clamp(25px, 7.8vw, 34px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    h1[data-r1376-title-state="long-single"] {
    font-size: clamp(28px, 8.75vw, 34px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    h1[data-r1376-title-state="long-single-compact"] {
    font-size: clamp(22.5px, 7vw, 30px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    h1[data-r1376-title-state="ko-compact-multi"] {
    font-size: clamp(32px, 9.6vw, 36px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    h1[data-r1376-title-state="service-long"] {
    font-size: clamp(29px, 8.8vw, 34px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    h1[data-r1376-title-state]:not([data-r1376-title-state="contact-action-lockup"]) .r87-hero-phrase {
    display: inline-block !important;
    white-space: nowrap !important;
  }
}

/* Contact is one exact H1 with two declared visual roles. At wide measures the
   lockup reads as its original sentence and may wrap only between those roles.
   At phone and 200%-equivalent reflow the role boundary is authored explicitly;
   the firm name, Korean particle, source space and period remain intact. */
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  h1[data-r1376-title-state="contact-action-lockup"] .r1376-contact-lockup-part {
  display: inline-block !important;
  max-inline-size: 100% !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
}

@media (max-width: 720px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    h1[data-r1376-title-state="contact-action-lockup"] .r1376-contact-action-lockup {
    display: block !important;
    inline-size: 100% !important;
    max-inline-size: 100% !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    h1[data-r1376-title-state="contact-action-lockup"] .r1376-contact-lockup-part {
    display: block !important;
    inline-size: fit-content !important;
    max-inline-size: 100% !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="en"] #r53-main
    h1[data-r1376-title-state="contact-action-lockup"] .r1376-contact-action {
    font-size: clamp(34px, 6.4vw, 46px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="en"] #r53-main
    h1[data-r1376-title-state="contact-action-lockup"] .r1376-contact-recipient {
    font-size: clamp(27px, 4.5vw, 32px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="ko"] #r53-main
    h1[data-r1376-title-state="contact-action-lockup"] .r1376-contact-action {
    font-size: clamp(34px, 6.4vw, 46px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="ko"] #r53-main
    h1[data-r1376-title-state="contact-action-lockup"] .r1376-contact-recipient {
    font-size: clamp(23px, 4.2vw, 30px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="zh"] #r53-main
    h1[data-r1376-title-state="contact-action-lockup"] .r1376-contact-action {
    font-size: clamp(34px, 6.4vw, 46px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="zh"] #r53-main
    h1[data-r1376-title-state="contact-action-lockup"] .r1376-contact-recipient {
    font-size: clamp(25px, 4.3vw, 31px) !important;
  }
}

/* R87's phone-era firm-name rule carries Latin-specific negative tracking and
   word spacing with !important. The exact locale recipient role owns those
   properties in R137.6, so mixed-script Contact headings inherit the same
   packaged face and tracking contract as their complete H1. */
@media (max-width: 620px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="en"] #r53-main
    .r54-route-hero.r87-purpose-hero-contact
    h1[data-r1376-title-state="contact-action-lockup"]
    .r1376-contact-recipient.r87-hero-phrase-firm-name {
    font-family: var(--r53-serif) !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="ko"] #r53-main
    .r54-route-hero.r87-purpose-hero-contact
    h1[data-r1376-title-state="contact-action-lockup"]
    .r1376-contact-recipient.r87-hero-phrase-firm-name {
    font-family: "GL54 CJK Serif", var(--r53-serif) !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r53-locale="zh"] #r53-main
    .r54-route-hero.r87-purpose-hero-contact
    h1[data-r1376-title-state="contact-action-lockup"]
    .r1376-contact-recipient.r87-hero-phrase-firm-name {
    font-family: "GL54 SC Serif", "GL54 CJK Serif", var(--r53-serif) !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
  }
}

/* About keeps one localized media overlay for every text role. The stronger
   upper-left anchor protects the title over the bright mist while the bridge,
   skyline and water remain substantially clear; no text box or full-frame wash
   is added. */
html body.gl-r53 .r53-site.r60-about[data-site-production-root] #r53-main
  .r54-route-hero[data-r136-media-order="2"] > .r54-route-hero-grid::before {
  background: radial-gradient(ellipse 82% 94% at 0% 0%, rgba(24,6,12,.66) 0%, rgba(24,6,12,.50) 36%, rgba(24,6,12,.18) 60%, rgba(24,6,12,.02) 76%, transparent 88%) !important;
}

@media (max-width: 620px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-home-authority[data-r136-hero-tone="law"] .r54-home-authority-stage::after {
    background:
      linear-gradient(90deg, rgba(21,5,10,.58) 0%, rgba(40,7,16,.50) 44%, rgba(42,8,17,.20) 72%, rgba(19,5,9,.08) 100%),
      linear-gradient(0deg, rgba(20,4,9,.08), transparent 38%) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-home-authority[data-r136-hero-tone="law"] .r53-hero-image {
    object-position: 68% 50% !important;
  }

  html body.gl-r53 .r53-site.r60-about[data-site-production-root] #r53-main
    .r54-route-hero[data-r136-media-order="2"] > .r54-route-hero-grid::before {
    background: radial-gradient(ellipse 145% 115% at 0% 18%, rgba(24,6,12,.72) 0%, rgba(24,6,12,.60) 42%, rgba(24,6,12,.38) 65%, rgba(24,6,12,.12) 82%, transparent 100%) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-route-hero[data-r136-media-order="8"] > .r54-route-hero-grid::before {
    background: radial-gradient(ellipse 94% 52% at 0% 24%, rgba(24,6,12,.72) 0%, rgba(24,6,12,.58) 42%, rgba(24,6,12,.20) 70%, transparent 100%) !important;
  }
}

/* R137.4 keeps the localized Practice Areas guidance and the public assistant
   as sibling controls in one document-flow row. The empty assistant host
   collapses, so an absent plugin never leaves a blank rail or separator. */
html body.gl-r53 .r53-site[data-site-production-root] > .r137-nav-assistant-row[data-r137-nav-assistant-row] {
  display: grid !important;
  position: relative !important;
  z-index: 3 !important;
  align-items: stretch !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  inline-size: 100% !important;
  width: 100% !important;
  min-block-size: 44px !important;
  min-height: 44px !important;
  border-block-end: 1px solid var(--r53-line) !important;
  background: var(--r53-paper) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] > .r137-nav-assistant-row
  > .r137-assistant-inline-host[data-bws-gla-inline-host]:empty {
  display: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] > .r137-nav-assistant-row
  > .r137-assistant-inline-host[data-bws-gla-inline-host]:not(:empty) {
  display: grid !important;
  place-items: center !important;
  inline-size: 52px !important;
  width: 52px !important;
  min-inline-size: 52px !important;
  min-width: 52px !important;
  border-inline-start: 1px solid var(--r53-line) !important;
  background: var(--r53-white) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] > .r137-nav-assistant-row
  > a.r87-nav-discovery[data-r87-nav-discovery] {
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
  box-sizing: border-box !important;
  min-inline-size: 0 !important;
  min-width: 0 !important;
  block-size: auto !important;
  height: auto !important;
  min-block-size: 44px !important;
  min-height: 44px !important;
  overflow: visible !important;
  border: 0 !important;
  background: var(--r53-paper) !important;
  color: var(--r53-ink) !important;
  text-decoration: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html body.gl-r53 .r53-site[data-site-production-root] > .r137-nav-assistant-row
  > a.r87-nav-discovery[data-r87-nav-discovery] > .r53-shell {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  box-sizing: border-box !important;
  block-size: auto !important;
  height: auto !important;
  min-block-size: 44px !important;
  min-height: 44px !important;
  padding-block: 7px !important;
  color: inherit !important;
  font: 600 12px/1.45 var(--r53-sans) !important;
  letter-spacing: .035em !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow: visible !important;
}

html body.gl-r53 .r53-site[data-site-production-root] > .r137-nav-assistant-row
  > a.r87-nav-discovery[data-r87-nav-discovery] > .r53-shell > span:first-child {
  min-inline-size: 0 !important;
  min-width: 0 !important;
  max-inline-size: 62ch !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

html body.gl-r53 .r53-site[data-site-production-root] > .r137-nav-assistant-row
  > a.r87-nav-discovery[data-r87-nav-discovery] > .r53-shell > span:last-child {
  flex: 0 0 20px !important;
  color: var(--r53-oxblood) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] > .r137-nav-assistant-row
  > a.r87-nav-discovery[data-r87-nav-discovery]:is(:hover,:focus-visible) {
  background: var(--r53-white) !important;
  color: var(--r53-oxblood) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] > .r137-nav-assistant-row
  > a.r87-nav-discovery[data-r87-nav-discovery]:focus-visible {
  z-index: 51 !important;
  outline: 3px solid var(--r53-oxblood) !important;
  outline-offset: -3px !important;
  box-shadow: none !important;
}

@media (max-width: 390px) {
  html body.gl-r53 .r53-site[data-site-production-root] > .r137-nav-assistant-row
    > a.r87-nav-discovery[data-r87-nav-discovery] > .r53-shell {
    gap: 8px !important;
    padding-block: 8px !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    letter-spacing: .015em !important;
  }
}

/* R137.8 — one full-bleed photographic route-hero geometry contract. Orders
   2–10 and the exact Contact photo route share one responsive stage token.
   Home, profiles and article heroes retain their declared semantic jobs. */
html body.gl-r53 .r53-site[data-site-production-root] {
  --r1375-hero-inline: clamp(24px, 4.6vw, 68px);
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  :is(.r54-home-authority,.r54-route-hero,.r123-counsel-text-hero),
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  :is(.r54-home-authority,.r54-route-hero) > :is(.r54-home-authority-stage,.r54-route-hero-grid) {
  box-sizing: border-box !important;
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r53-page-hero-has-media:is(
    [data-r136-media-order="2"],
    [data-r136-media-order="3"],
    [data-r136-media-order="4"],
    [data-r136-media-order="5"],
    [data-r136-media-order="6"],
    [data-r136-media-order="7"],
    [data-r136-media-order="8"],
    [data-r136-media-order="9"],
    [data-r136-media-order="10"],
    .r87-purpose-hero-contact
  ) {
  --r1378-route-hero-height: clamp(500px, 34vw, 540px);
  --r8734-hero-height: var(--r1378-route-hero-height) !important;
  --r8735-media-hero-height: var(--r1378-route-hero-height) !important;
  box-sizing: border-box !important;
  block-size: auto !important;
  height: auto !important;
  min-block-size: var(--r1378-route-hero-height) !important;
  min-height: var(--r1378-route-hero-height) !important;
  overflow: hidden !important;
  border: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r53-page-hero-has-media:is(
    [data-r136-media-order="2"],
    [data-r136-media-order="3"],
    [data-r136-media-order="4"],
    [data-r136-media-order="5"],
    [data-r136-media-order="6"],
    [data-r136-media-order="7"],
    [data-r136-media-order="8"],
    [data-r136-media-order="9"],
    [data-r136-media-order="10"],
    .r87-purpose-hero-contact
  ) > .r54-route-hero-grid {
  box-sizing: border-box !important;
  grid-template-rows: minmax(var(--r1378-route-hero-height), auto) !important;
  block-size: auto !important;
  height: auto !important;
  min-block-size: var(--r1378-route-hero-height) !important;
  min-height: var(--r1378-route-hero-height) !important;
  border: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero:is([data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"])
  > .r54-route-hero-grid {
  grid-template-rows: minmax(var(--r1378-route-hero-height), auto) !important;
  align-content: stretch !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero:is([data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"]):not(.r87-purpose-hero)
  .r54-route-hero-title {
  grid-row: 1 !important;
  align-self: center !important;
  align-content: center !important;
  justify-content: start !important;
  justify-self: start !important;
  justify-items: start !important;
  row-gap: 22px !important;
  gap: 22px !important;
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: 720px !important;
  max-width: 720px !important;
  margin: 0 !important;
  padding: 0 var(--r1375-hero-inline) !important;
  text-align: start !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero:is([data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"]):not(.r87-purpose-hero)
  .r54-route-hero-title > :is(.r53-eyebrow,h1) {
  justify-self: start !important;
  margin-inline: 0 !important;
  text-align: start !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero:is([data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"]):not(.r87-purpose-hero)
  .r54-route-hero-title > .r53-eyebrow {
  margin: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero:is([data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"]):not(.r87-purpose-hero)
  .r54-route-hero-title > h1 {
  max-inline-size: 100% !important;
  max-width: 100% !important;
}

@media (min-width: 901px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-route-hero:is([data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"]):not(.r87-purpose-hero)
    .r54-route-hero-title > h1[data-r1376-title-state="service-long"] {
    font-size: clamp(56px, 4.25vw, 64px) !important;
  }
}

/* Purpose-led copy uses the same rail. The CTA remains the sole solid element:
   no float animation or shadow changes its relationship to the photograph. */
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r87-purpose-hero .r87-purpose-hero-copy {
  padding-inline: var(--r1375-hero-inline) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r87-purpose-hero .r87-route-hero-action {
  min-block-size: 52px !important;
  min-height: 52px !important;
  box-shadow: none !important;
  transform: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-route-hero.r87-purpose-hero .r87-route-hero-action:is(:hover,:focus,:focus-visible) {
  box-shadow: none !important;
  transform: none !important;
}

/* The shared curve has no family jump. It preserves content auto-growth and
   remains continuous to within one rendered pixel at every authored edge. */
@media (min-width: 621px) and (max-width: 720px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-route-hero.r53-page-hero-has-media:is([data-r136-media-order="2"],[data-r136-media-order="3"],[data-r136-media-order="4"],[data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"],.r87-purpose-hero-contact) {
    --r1378-route-hero-height: calc(1076px - 80vw);
  }
}

@media (min-width: 721px) and (max-width: 1179px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-route-hero.r53-page-hero-has-media:is([data-r136-media-order="2"],[data-r136-media-order="3"],[data-r136-media-order="4"],[data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"],.r87-purpose-hero-contact) {
    --r1378-route-hero-height: 500px;
  }
}

/* Immigration keeps its exact admitted Envato byte. A continuous image-height
   envelope replaces the hard 1.56 transform: it reaches 1.36 at 898px and
   returns to the shared stage without a subject jump at either endpoint. */
@media (min-width: 621px) and (max-width: 1179px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-route-hero[data-r136-media-order="8"][data-r136-hero-tone="landmark"]
    .r53-page-hero-media {
    overflow: hidden !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-route-hero[data-r136-media-order="8"][data-r136-hero-tone="landmark"]
    .r53-page-hero-media .r54-route-hero-responsive-picture {
    position: relative !important;
    block-size: 100% !important;
    height: 100% !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-route-hero[data-r136-media-order="8"][data-r136-hero-tone="landmark"]
    .r53-page-hero-media :is(.r54-route-hero-responsive-picture > img,.r53-page-hero-image) {
    position: absolute !important;
    inset-block-start: 0 !important;
    inset-inline-start: 0 !important;
    object-position: 58% 0% !important;
    transform: none !important;
    transform-origin: initial !important;
  }
}

@media (min-width: 721px) and (max-width: 898px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-route-hero[data-r136-media-order="8"][data-r136-hero-tone="landmark"]
    .r53-page-hero-media :is(.r54-route-hero-responsive-picture > img,.r53-page-hero-image) {
    block-size: calc(141.242938vw - 518.361582px) !important;
    height: calc(141.242938vw - 518.361582px) !important;
  }
}

@media (min-width: 899px) and (max-width: 1179px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-route-hero[data-r136-media-order="8"][data-r136-hero-tone="landmark"]
    .r53-page-hero-media :is(.r54-route-hero-responsive-picture > img,.r53-page-hero-image) {
    block-size: calc(1552.678571px - 89.285714vw) !important;
    height: calc(1552.678571px - 89.285714vw) !important;
  }
}

@media (max-width: 620px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-route-hero.r53-page-hero-has-media:is([data-r136-media-order="2"],[data-r136-media-order="3"],[data-r136-media-order="4"],[data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"],.r87-purpose-hero-contact) {
    --r1378-route-hero-height: clamp(520px, 136vw, 580px);
  }

  /* The Criminal Law court interior loses chair/depth separation only in the
     narrow service stage. Keep its admitted 78% 50% focal and scope the
     measured lift to media order 7; every other law/landmark grade is owned by
     the shared rules above. */
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-media-order="7"][data-r136-hero-tone="law"]
    .r53-page-hero-media :is(.r54-route-hero-responsive-picture > img,.r53-page-hero-image) {
    filter: brightness(1.20) saturate(1.02) contrast(.98) !important;
  }

  /* Keep the exact Other Legal Services atom intact. This service-family
     selector retires the stronger legacy data-r78 H1 size without authoring a
     line break, clipping or changing the approved string. */
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-route-hero:is([data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"]):not(.r87-purpose-hero)
    .r54-route-hero-title > h1[data-r1376-title-state="service-long"] {
    font-size: clamp(29px, 8.8vw, 34px) !important;
  }

  /* These source-bound Korean single-atom states already own the intended
     narrow type sizes. Match the real non-purpose media-title family so the
     older data-r78 important size cannot clip their complete keep-all text. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="ko"] #r53-main
    .r54-route-hero.r53-page-hero-has-media.r87-purpose-hero
    .r87-purpose-hero-copy > .r54-route-hero-title > h1[data-r1376-title-state="long-single"] {
    font-size: clamp(28px, 8.75vw, 34px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="ko"] #r53-main
    .r54-route-hero.r53-page-hero-has-media.r87-purpose-hero
    .r87-purpose-hero-copy > .r54-route-hero-title > h1[data-r1376-title-state="long-single-compact"] {
    font-size: clamp(22.5px, 7vw, 30px) !important;
  }

  /* Exact browser winner for the approved English Immigration Law atom. The
     route/order/state chain deliberately outranks the terminal R87 35px
     service-family rule. The child rule is equally explicit because the
     semantic-unit layer otherwise restores normal/anywhere wrapping. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-media-order="8"]
    .r54-route-hero-title > h1[data-r78-hero-title][data-r1376-title-state="service-immigration-atom"] {
    font-size: clamp(29px, 8.8vw, 34px) !important;
    letter-spacing: normal !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-media-order="8"]
    .r54-route-hero-title > h1[data-r78-hero-title][data-r1376-title-state="service-immigration-atom"] > .r72-semantic-unit {
    display: inline !important;
    font-size: inherit !important;
    letter-spacing: inherit !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
  }
}

/* At 320px, one 20px parent inset yields the exact 280px copy plane. Child
   widths are fluid within that plane; there is no second grid inset, clipping,
   ellipsis, runtime scaling or arbitrary third line. */
@media (min-width: 320px) and (max-width: 350px) {
  html body.gl-r53 .r53-site[data-site-production-root] {
    --r1375-hero-inline: 20px;
  }

  html body.gl-r53 .r53-site.r60-home[data-site-production-root] #r53-main
    .r54-home-authority-inner {
    box-sizing: border-box !important;
    grid-template-columns: minmax(0, 1fr) !important;
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: none !important;
    max-width: none !important;
    margin: 0 !important;
    padding-inline: 20px !important;
  }

  html body.gl-r53 .r53-site.r60-home[data-site-production-root] #r53-main
    .r54-home-authority-copy,
  html body.gl-r53 .r53-site.r60-home[data-site-production-root] #r53-main
    .r54-home-authority h1 {
    box-sizing: border-box !important;
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: none !important;
    max-width: none !important;
    justify-self: stretch !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
  }

  html body.gl-r53 .r53-site.r60-home[data-site-production-root] #r53-main
    .r54-home-authority h1 {
    font-size: clamp(36px, 10.85vw, 38px) !important;
  }

  html body.gl-r53 .r53-site.r60-home[data-site-production-root] #r53-main
    .r54-home-authority h1 .r87-hero-phrase {
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-route-hero.r53-page-hero-has-media:is([data-r136-media-order="2"],[data-r136-media-order="3"],[data-r136-media-order="4"],[data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"],.r87-purpose-hero-contact) {
    --r1378-route-hero-height: 520px;
  }
}

/* R137 Our Firm semantic-card bridge. The card is now a non-interactive
   article with one explicit profile action, so the final cascade binds the
   incumbent portrait/card morphology to that semantic element without fixed
   copy heights or summary truncation. */
html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 1px !important;
  overflow: visible !important;
  background: var(--r53-line-dark) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: minmax(380px,40vw) auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  color: var(--r53-ink) !important;
  background: #fff !important;
  border: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person > figure {
  width: 100% !important;
  height: auto !important;
  min-height: 380px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #f5f6f5 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person > figure :is(picture,img) {
  width: 100% !important;
  height: 100% !important;
}

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

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person > div {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  height: auto !important;
  min-height: auto !important;
  padding: 28px clamp(24px,3vw,38px) !important;
  border: 0 !important;
  border-top: 5px solid var(--r53-oxblood) !important;
  background: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person .r54-person-summary {
  display: block !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person:focus-within {
  box-shadow: inset 0 0 0 3px color-mix(in srgb,var(--r53-oxblood) 36%,transparent) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main
  .r54-content-editorial.r54-standard-firm-people .r54-person-profile-action:focus-visible {
  outline: 3px solid var(--r53-oxblood) !important;
  outline-offset: 4px !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main .r137-firm-source-description {
  max-width: 72ch !important;
  margin: clamp(36px,4vw,56px) auto clamp(42px,5vw,68px) !important;
  padding-top: clamp(24px,2.8vw,36px) !important;
  border-top: 1px solid var(--r53-line) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main .r137-firm-source-description > p + p {
  margin-top: 1.15em !important;
}

@media (max-width: 898px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage {
    grid-template-columns: 1fr !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person {
    grid-template-columns: minmax(250px,.42fr) minmax(0,.58fr) !important;
    grid-template-rows: auto !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person > figure {
    height: 100% !important;
    min-height: 360px !important;
  }

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

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

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person > figure {
    min-height: 0 !important;
    aspect-ratio: 4/5 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main
    .r54-content-editorial.r54-standard-firm-people .r54-firm-people-stage > article.r54-firm-person > div {
    height: auto !important;
    min-height: auto !important;
    padding: 26px 24px 30px !important;
    border-left: 0 !important;
    border-top: 4px solid var(--r53-oxblood) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main .r137-firm-source-description {
    width: calc(100% - (2 * var(--r53-edge))) !important;
    margin-inline: auto !important;
  }
}

/* Exact English Other Legal Services atom. The source-bound title state fits
   its measured 1440/390/320 copy planes at the existing responsive sizes, so
   legacy balance and semantic-child normal wrapping have no authority to
   manufacture a second line. This terminal rule changes no font size. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
  .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-media-order="10"]
  .r54-route-hero-title > h1[data-r78-hero-title][data-r1376-title-state="service-long"] {
  white-space: normal !important;
  text-wrap: wrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
  .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-media-order="10"]
  .r54-route-hero-title > h1[data-r78-hero-title][data-r1376-title-state="service-long"] > .r72-semantic-unit {
  display: inline !important;
  white-space: normal !important;
  text-wrap: wrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

/* The current semantic renderer recognizes the same approved full phrase in
   its phrase-first branch and emits r87-hero-phrase. Bind that real child too;
   the r72 state above remains the declared fallback contract. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
  .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-media-order="10"]
  .r54-route-hero-title > h1[data-r78-hero-title][data-r1376-title-state="service-long"] > .r87-hero-phrase {
  display: inline !important;
  white-space: normal !important;
  text-wrap: wrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

/* The exact English order-10 atom is 287px at the shared 29px phone token,
   while the 320px public rail provides 280px. Give only the 320–350 state a
   fixed, authored 28px semantic token; 390px and wider retain the shared
   service scale. This is not runtime shrink-to-fit and keeps the complete
   approved atom, natural tracking and real trailing rail inside the stage. */
@media (min-width: 320px) and (max-width: 350px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-media-order="10"]
    .r54-route-hero-title > h1[data-r78-hero-title][data-r1376-title-state="service-long"],
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-media-order="10"]
    .r54-route-hero-title > h1[data-r78-hero-title][data-r1376-title-state="service-long"] > :is(.r72-semantic-unit,.r87-hero-phrase) {
    letter-spacing: inherit !important;
    white-space: normal !important;
    text-wrap: wrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

/* R137.8 authoritative public rail and surface contract.
   Top-level section colour/photo planes remain full bleed. Their actual
   information rails share one viewport-derived axis; a reading measure may
   narrow content only inside this rail and never become a second page canvas. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] {
  --r1378-public-rail-max: 1312px;
  --r1378-public-edge: clamp(24px, 4.6vw, 68px);
  --r1378-public-inset: max(
    var(--r1378-public-edge),
    calc((100vw - var(--r1378-public-rail-max)) / 2)
  );
  --r1378-public-copy-trailing: min(
    var(--r1378-public-inset),
    clamp(24px, 3vw, 48px)
  );
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  > :is(section,aside,header) {
  box-sizing: border-box !important;
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  .r53-header > .r53-shell,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  .r53-footer > .r53-shell,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  > :is(section,aside,header) > .r53-shell,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  > nav.r53-shell {
  box-sizing: border-box !important;
  inline-size: calc(100% - (2 * var(--r1378-public-inset))) !important;
  width: calc(100% - (2 * var(--r1378-public-inset))) !important;
  max-inline-size: var(--r1378-public-rail-max) !important;
  max-width: var(--r1378-public-rail-max) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

/* Home and route photographs own full-width stages. Only their copy is inset
   to the public axis; constraining these outer grids would box the media. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r54-home-authority .r54-home-authority-inner,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r54-route-hero > .r54-route-hero-grid,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r53-profile-hero > .r53-profile-hero-grid,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r53-article-hero > .r53-article-hero-grid {
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r54-home-authority .r54-home-authority-copy,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r54-route-hero:not(.r87-purpose-hero) .r54-route-hero-title,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r54-route-hero.r87-purpose-hero .r87-purpose-hero-copy,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r53-profile-hero > .r53-profile-hero-grid > .r53-profile-hero-copy,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r53-article-hero > .r53-article-hero-grid > .r53-article-hero-copy {
  box-sizing: border-box !important;
  padding-inline-start: var(--r1378-public-inset) !important;
  padding-inline-end: var(--r1378-public-copy-trailing) !important;
}

/* At wide desktop, the split photographic heroes use the left half of the
   viewport as their copy plane. The shared public inset establishes the left
   axis while a fixed 48px internal trailing gutter preserves a stable 608px
   service-title measure at both 1600 and 1920. Profile/article compositions
   are deliberately excluded because their own two-column page jobs remain
   authoritative. No route receives an authored line break or type shrink. */
@media (min-width: 1441px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r54-home-authority .r54-home-authority-copy,
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r54-route-hero.r87-purpose-hero:is([data-r136-media-order="2"],[data-r136-media-order="3"],[data-r136-media-order="4"])
    .r87-purpose-hero-copy,
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero):is([data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"])
    .r54-route-hero-title,
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r54-route-hero.r87-purpose-hero-contact.r54-route-hero-contact-office
    .r87-purpose-hero-copy {
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: 50vw !important;
    max-width: 50vw !important;
    padding-inline-start: var(--r1378-public-inset) !important;
    padding-inline-end: 48px !important;
  }

  /* Service orders 5–10 need a true 640px title content box: the exact
     632.58px Other Legal Services atom must not consume the declared trailing
     gutter. The outer size is therefore the shared start inset + 640px content
     + 48px trailing gutter, while the photographic stage remains full width. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero):is([data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"])
    .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;
  }

  /* The approved Korean Practice headline is one source-bound semantic atom.
     At the shared 50vw plane its 757px natural paint exceeds the 608px content
     measure. Give only this locale/order state a measured 60vw copy plane so
     the atom remains intact without font compression, slicing or media crop
     changes. English, Chinese and every <=1440 state remain unchanged. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="ko"] #r53-main
    .r54-route-hero.r87-purpose-hero[data-r136-media-order="4"]
    .r87-purpose-hero-copy {
    max-inline-size: 60vw !important;
    max-width: 60vw !important;
  }

  /* The localized Contact recipient atoms are wider than the generic 608px
     purpose measure. Widen only this approved EN/KO/ZH route state; do not
     compress, split or clip the exact recipient names. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r54-route-hero.r87-purpose-hero-contact.r54-route-hero-contact-office
    .r87-purpose-hero-copy {
    max-inline-size: 58vw !important;
    max-width: 58vw !important;
  }

  /* Profile heroes keep their own two-column page job and CENTER_DEFAULT
     composition. Equal public insets restore the real track centre at wide
     viewports; article heroes remain independently composed and unchanged. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r53-profile-hero > .r53-profile-hero-grid > .r53-profile-hero-copy {
    padding-inline-start: var(--r1378-public-inset) !important;
    padding-inline-end: var(--r1378-public-inset) !important;
  }
}
/* R137.8 wide split-copy plane end. */

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r53-profile-hero > .r53-profile-hero-grid > .r53-profile-hero-copy {
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
  margin-inline: 0 !important;
  justify-self: stretch !important;
}

/* Six practice routes: the chapter surface is full bleed. Each chapter owns
   exactly one public-rail inset, while the body may retain its 68–72ch reading
   measure inside the page-job grid. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  > .r54-content-practice {
  padding-block: 0 !important;
  padding-inline: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  > .r54-content-practice > .r54-service-authority-grid,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  > .r54-content-practice > .r54-service-authority-grid > .r54-service-authority-prose,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  > .r54-content-practice .r54-narrative-sections {
  box-sizing: border-box !important;
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  > .r54-content-practice .r54-narrative-chapter,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  > .r54-content-practice .r54-narrative-chapter-lead {
  box-sizing: border-box !important;
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: var(--r1378-public-inset) !important;
}

/* Explicit aliases keep present and compatible route renderers on the same
   outer axis without flattening their internal grid columns. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  :is(
    .r54-practice-directory-layout,
    .r54-practice-directory-grid,
    .r54-bottom-inquiry-grid,
    .r75-inquiry-grid,
    .r53-inquiry-grid,
    .r53-contact-grid,
    .r53-office-record-grid,
    .r53-faq-grid,
    .r53-counsel-record-grid,
    .r54-counsel-biography-grid,
    .r53-article-layout,
    .r54-article-reading-grid,
    .r54-functional-shell,
    .r54-practice-workspace,
    .r54-latest-insight,
    .r53-header-grid,
    .r53-footer-top,
    .r53-footer-grid
  ) {
  inline-size: calc(100% - (2 * var(--r1378-public-inset))) !important;
  width: calc(100% - (2 * var(--r1378-public-inset))) !important;
  max-inline-size: var(--r1378-public-rail-max) !important;
  max-width: var(--r1378-public-rail-max) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

/* The discovery link shares its row with the independent assistant control.
   Keep the link plane flexible, but align its visible content to the same
   public left axis instead of reviving the legacy 6px nested-shell edge. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  .r137-nav-assistant-row > .r87-nav-discovery > .r53-shell {
  box-sizing: border-box !important;
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: var(--r1378-public-inset) !important;
}

/* The incumbent Contact coordinates layer has a deliberately strong legacy
   selector. Bind its real outer grid to the public rail, then make its copy a
   100% internal track so the rail is never applied twice. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision].r60-contact #r53-main
  [data-r53-component="contact.coordinates"] > .r53-office-record-grid.r53-shell {
  box-sizing: border-box !important;
  inline-size: calc(100% - (2 * var(--r1378-public-inset))) !important;
  width: calc(100% - (2 * var(--r1378-public-inset))) !important;
  max-inline-size: var(--r1378-public-rail-max) !important;
  max-width: var(--r1378-public-rail-max) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision].r60-contact #r53-main
  [data-r53-component="contact.coordinates"] > .r53-office-record-grid.r53-shell > .r53-office-record-copy {
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: none !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

@media (min-width: 320px) and (max-width: 350px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] {
    --r1378-public-edge: 20px;
  }
}

/* R137.8 desktop header capacity contract. The standalone Contact action is
   already the primary destination, so the same route is not repeated in the
   desktop nav. At the 1312px rail cap, a compact five-track composition keeps
   brand, navigation, languages, phone and CTA inside one rail with real gaps.
   The phone label remains available through the anchor's aria-label and the
   full duplicate Contact route remains in the keyboard/mobile menu. */
@media (min-width: 1180px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    > .r53-header .r53-desktop-nav .r1378-desktop-contact-duplicate {
    display: none !important;
  }
}

@media (min-width: 1400px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    > .r53-header > .r53-header-grid.r53-shell {
    column-gap: 12px !important;
  }
}

@media (min-width: 1600px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    > .r53-header > .r53-header-grid.r53-shell {
    grid-template-columns: minmax(368px, 376px) minmax(0, 1fr) auto 48px minmax(126px, 136px) !important;
    column-gap: 12px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    > .r53-header .r53-desktop-nav ul {
    gap: 2px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    > .r53-header .r53-desktop-nav a {
    padding-inline: 6px !important;
    font-size: 16.5px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    > .r53-header .r84-header-phone {
    inline-size: 48px !important;
    width: 48px !important;
    justify-content: center !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    > .r53-header .r84-header-phone-label {
    position: absolute !important;
    inline-size: 1px !important;
    width: 1px !important;
    block-size: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }
}
/* R137.8 desktop header capacity contract end. */

/* R137.8 wide route-stage equality. Native EN/KO/ZH measurements prove the
   complete copy groups fit inside the 540px stage after the measured title
   plane exceptions above. At desktop widths the route family therefore owns
   one exact row and block size; Home, profiles and articles remain excluded. */
@media (min-width: 1441px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r54-route-hero.r53-page-hero-has-media:is(
      [data-r136-media-order="2"],
      [data-r136-media-order="3"],
      [data-r136-media-order="4"],
      [data-r136-media-order="5"],
      [data-r136-media-order="6"],
      [data-r136-media-order="7"],
      [data-r136-media-order="8"],
      [data-r136-media-order="9"],
      [data-r136-media-order="10"],
      .r87-purpose-hero-contact
    ) {
    block-size: var(--r1378-route-hero-height) !important;
    height: var(--r1378-route-hero-height) !important;
    min-block-size: var(--r1378-route-hero-height) !important;
    min-height: var(--r1378-route-hero-height) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r54-route-hero.r53-page-hero-has-media:is(
      [data-r136-media-order="2"],
      [data-r136-media-order="3"],
      [data-r136-media-order="4"],
      [data-r136-media-order="5"],
      [data-r136-media-order="6"],
      [data-r136-media-order="7"],
      [data-r136-media-order="8"],
      [data-r136-media-order="9"],
      [data-r136-media-order="10"],
      .r87-purpose-hero-contact
    ) > .r54-route-hero-grid {
    grid-template-rows: var(--r1378-route-hero-height) !important;
    block-size: var(--r1378-route-hero-height) !important;
    height: var(--r1378-route-hero-height) !important;
    min-block-size: var(--r1378-route-hero-height) !important;
    min-height: var(--r1378-route-hero-height) !important;
  }
}
/* R137.8 wide route-stage equality end. */

/* R137.13 complete-string correction. All six practice heroes share one type
   role and natural word boundaries; no route may preserve a target line count
   with nowrap, an inline-block atom or a route-specific phone-size squeeze. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r54-route-hero:is([data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"]):not(.r87-purpose-hero)
  .r54-route-hero-title > h1[data-r78-hero-title],
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r54-route-hero:is([data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"]):not(.r87-purpose-hero)
  .r54-route-hero-title > h1[data-r78-hero-title] > :is(.r72-semantic-unit,.r87-hero-phrase,.r54-atomic-role-phrase) {
  max-inline-size: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  text-wrap: wrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
  .r54-route-hero:is([data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"]):not(.r87-purpose-hero)
  .r54-route-hero-title > h1[data-r78-hero-title] > :is(.r72-semantic-unit,.r87-hero-phrase,.r54-atomic-role-phrase) {
  display: inline !important;
  font-size: inherit !important;
  letter-spacing: inherit !important;
}

@media (max-width: 720px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r54-route-hero:is([data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"]):not(.r87-purpose-hero)
    .r54-route-hero-title > h1[data-r78-hero-title] {
    font-size: clamp(29px, 8.8vw, 34px) !important;
  }
}

/* R137.15 Home mobile-rail correction. The mobile layout had two
   independent horizontal insets: the authority grid supplied a 20px rail and
   the copy panel added another 20px. That left the approved second semantic
   phrase wider than its 240px H1 plane at 320px, and the earlier narrow-only
   repair created a 28px left-axis jump between 350px and 351px. Recompose one
   smoothly scaling mobile rail at the container level so the complete
   two-phrase heading remains intact at the authored type size, then converge
   back to the canonical 4.6vw public rail before the tablet split. Do not
   split a meaning unit, clip, ellipsize or shrink to fit. */
@media (min-width: 320px) and (max-width: 767px) {
  html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision] #r53-main
    .r54-home-authority-inner {
    box-sizing: border-box !important;
    inline-size: 100% !important;
    width: 100% !important;
    padding-inline: min(
      clamp(24px, 4.6vw, 68px),
      max(16px, calc(11.43vw - 20.57px))
    ) !important;
  }

  html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision] #r53-main
    .r54-home-authority-copy,
  html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision] #r53-main
    .r54-home-authority h1 {
    box-sizing: border-box !important;
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: none !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
  }

  html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision] #r53-main
    .r54-home-authority h1 .r87-hero-phrase {
    max-inline-size: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
  }
}

/* R137.18 mobile visual-authority correction. R137.13 removed clipping but
   over-corrected the six approved practice heroes to a small 29px label. The
   English service family now shares the same mobile title authority as the
   purpose-led routes, while exact semantic atoms (not target line counts)
   protect legal-service names and approved support copy. */
@media (min-width: 320px) and (max-width: 720px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] main#r53-main
    section.r54-route-hero:is([data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"]):not(.r87-purpose-hero)
    div.r54-route-hero-title > h1[data-r78-hero-title] {
    font-size: clamp(33px, 10vw, 39px) !important;
    line-height: 1.02 !important;
    letter-spacing: normal !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-wrap: wrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] main#r53-main
    section.r54-route-hero:is([data-r136-media-order="5"],[data-r136-media-order="6"],[data-r136-media-order="7"],[data-r136-media-order="8"],[data-r136-media-order="9"],[data-r136-media-order="10"]):not(.r87-purpose-hero)
    div.r54-route-hero-title > h1[data-r78-hero-title] > span:is(.r72-semantic-unit,.r87-hero-phrase,.r54-atomic-role-phrase) {
    display: inline-block !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  /* Exact state bridge: older Immigration and Other rules carry additional
     state attributes and !important declarations. Match those states with a
     second ID specificity so the computed winner is the shared R137.18 role,
     not either historical route-specific squeeze. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] main#r53-main#r53-main
    section.r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero):is([data-r136-media-order="8"],[data-r136-media-order="10"])
    div.r54-route-hero-title > h1[data-r78-hero-title][data-r1376-title-state] {
    font-size: clamp(33px, 10vw, 39px) !important;
    line-height: 1.02 !important;
    letter-spacing: normal !important;
    white-space: normal !important;
    text-wrap: wrap !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] main#r53-main#r53-main
    section.r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero):is([data-r136-media-order="8"],[data-r136-media-order="10"])
    div.r54-route-hero-title > h1[data-r78-hero-title][data-r1376-title-state] > span:is(.r72-semantic-unit,.r87-hero-phrase,.r54-atomic-role-phrase) {
    display: inline-block !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
  }

  /* Other Legal Services is a two-part category lockup, not a small one-line
     label. Preserve the exact H1 string while giving both source atoms the
     shared service-title authority at every mobile width. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] main#r53-main#r53-main
    section.r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-media-order="10"]
    div.r54-route-hero-title > h1[data-r78-hero-title][data-r1376-title-state="service-long"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    row-gap: 0 !important;
    gap: 0 !important;
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    font-size: clamp(33px, 10vw, 39px) !important;
    line-height: 1.02 !important;
    white-space: normal !important;
    text-wrap: wrap !important;
  }

  /* The semantic renderer places a wbr between the two approved source atoms.
     In a column formatting context that opportunity must not become a third,
     anonymous flex line between the two visible title rows. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] main#r53-main#r53-main
    section.r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-media-order="10"]
    div.r54-route-hero-title > h1[data-r78-hero-title][data-r1376-title-state="service-long"] > wbr {
    display: none !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] main#r53-main#r53-main
    section.r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-media-order="10"]
    div.r54-route-hero-title > h1[data-r78-hero-title][data-r1376-title-state="service-long"] > span.r87-hero-phrase {
    display: block !important;
    inline-size: fit-content !important;
    width: fit-content !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-content-practice .r54-narrative-chapter > h2 {
    font-size: clamp(21px, 6.6vw, 25px) !important;
    line-height: 1.10 !important;
    letter-spacing: -.03em !important;
    text-wrap: wrap !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    :is(.r54-content-practice,.r54-content-firm-story) :is(h2,h3) > span.r13718-body-heading-atom {
    display: inline-block !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-content-firm-story :is(h2,h3)[data-r13718-semantic-heading="true"] {
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    font-size: clamp(20.5px, 6.6vw, 26px) !important;
    line-height: 1.08 !important;
    text-wrap: wrap !important;
  }

  /* The approved geographic phrase paints less than 3px beyond the inherited
     phone title box. Use that empty inner rail instead of splitting the
     conjunction or shrinking the editorial role. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-content-firm-story :is(h2,h3)[data-r13718-heading-variant="about-trusted"] {
    inline-size: calc(100% + 4px) !important;
    width: calc(100% + 4px) !important;
    max-inline-size: calc(100% + 4px) !important;
    max-width: calc(100% + 4px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-practice-directory-heading .r53-section-heading > h2 {
    font-size: 29px !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
    text-wrap: nowrap !important;
  }

  html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    :is(.r79-home-audience-line,.r61-home-service-summary,.r136-home-mission) span.r1378-semantic-atom {
    display: inline-block !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-route-hero .r53-page-side span.r13718-hero-support-atom {
    display: inline-block !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-home-authority.r53-motion-visible h1[data-r78-hero-title] {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  /* These are full-image, edge-to-edge tonal fields, never text boxes. They
     keep the licensed bright landmark photographs visible while restoring
     readable title contrast at the actual lower-left mobile title plane. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] #r53-main
    .r54-route-hero:is([data-r136-media-order="6"],[data-r136-media-order="8"],[data-r136-media-order="10"])
    > .r54-route-hero-grid::before {
    background: radial-gradient(ellipse 112% 78% at 0% 57%, rgba(24,6,12,.72) 0%, rgba(24,6,12,.57) 42%, rgba(24,6,12,.25) 70%, rgba(24,6,12,.04) 91%, transparent 100%) !important;
  }
}

@media (min-width: 320px) and (max-width: 350px) {
  /* Use the available image plane before reducing authority. These measured
     extensions remain inside the viewport and keep the approved phrases whole. */
  html body.gl-r53 .r53-site.r60-home[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-home-authority h1[data-r78-hero-title] {
    inline-size: calc(100% + 12px) !important;
    width: calc(100% + 12px) !important;
    max-inline-size: calc(100% + 12px) !important;
    max-width: calc(100% + 12px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-content-practice .r54-narrative-chapter > h2 {
    inline-size: calc(100% + 10px) !important;
    width: calc(100% + 10px) !important;
    max-inline-size: calc(100% + 10px) !important;
    max-width: calc(100% + 10px) !important;
  }
}

@media (min-width: 320px) and (max-width: 620px) {
  /* Preserve one continuous purpose-heading scale through the former 350/351
     discontinuity. The extra 12px uses the still-empty image plane and keeps
     the complete phrase inside the viewport; it does not create a text box. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-route-hero.r87-purpose-hero .r54-route-hero-title > h1[data-r78-hero-title] {
    inline-size: calc(100% + 12px) !important;
    width: calc(100% + 12px) !important;
    max-inline-size: calc(100% + 12px) !important;
    max-width: calc(100% + 12px) !important;
    font-size: clamp(32px, 9.75vw, 44px) !important;
  }
}

@media (min-width: 621px) {
  /* The established wide purpose title measure was 8.2em, while the approved
     longest semantic phrase paints at about 8.59em in the packaged face. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-route-hero.r87-purpose-hero .r54-route-hero-title > h1[data-r78-hero-title] {
    max-inline-size: 8.7em !important;
    max-width: 8.7em !important;
  }
}

@media (min-width: 641px) {
  /* The About editorial story switches from a full mobile rail to a 250px
     narrative column at 641px. Keep every approved semantic atom whole and
     scale that body-heading role with the real column through desktop. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-content-firm-story :is(h2,h3)[data-r13718-semantic-heading="true"] {
    font-size: clamp(22.5px, 2.44vw, 28.5px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-content-firm-story :is(h2,h3)[data-r13718-semantic-heading="true"] > span.r13718-body-heading-atom {
    display: inline-block !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}

@media (min-width: 721px) {
  /* The wide practice grid already reserves a 463px title column, but an old
     9.85em cap squeezed headings to roughly 312px and split legal noun phrases.
     Use the real registered grid column and preserve each authored atom. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-content-practice .r54-narrative-chapter > :is(h2,h3)[data-r13718-semantic-heading="true"] {
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-content-practice .r54-narrative-chapter > :is(h2,h3)[data-r13718-semantic-heading="true"]
    > span.r13718-body-heading-atom {
    display: inline-block !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  /* At the widest grid the coordinated probate phrase is 8px wider than the
     registered 463px title column at the default 31.68px role. A 31px cap is
     optically indistinguishable while keeping the complete phrase in-column. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-content-practice .r54-narrative-chapter
    > :is(h2,h3)[data-r13718-heading-variant="other-probate-long"] {
    font-size: clamp(29px, 2.17vw, 31px) !important;
  }

  /* Above the phone/tablet atom rule the editorial heading returns to an em
     measure. Its former 10.56em cap was narrower than the 10.93em approved
     company-name atom; expose the real available column without splitting it. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-content-firm-story :is(h2,h3)[data-r13718-semantic-heading="true"] {
    max-inline-size: 11.1em !important;
    max-width: 11.1em !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-content-firm-story :is(h2,h3)[data-r13718-heading-variant="about-trusted"] {
    inline-size: calc(100% + 6px) !important;
    width: calc(100% + 6px) !important;
    max-inline-size: 11.25em !important;
    max-width: 11.25em !important;
  }
}

@media (min-width: 320px) and (max-width: 720px) {
  /* Preserve the approved Family Law noun phrase as one semantic unit. The
     long-heading variant uses the available chapter plane and an authored
     compact body-heading scale; it never splits "Family Law" or clips glyphs. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-content-practice :is(h2,h3)[data-r13718-heading-variant="family-long"] {
    inline-size: calc(100% + 24px) !important;
    width: calc(100% + 24px) !important;
    max-inline-size: calc(100% + 24px) !important;
    max-width: calc(100% + 24px) !important;
    font-size: clamp(20.3px, 6.2vw, 24.2px) !important;
    line-height: 1.10 !important;
  }

  /* Keep the noun and participial units intact; the former three-line form
     stranded "to Your Needs" as a dependent final fragment. */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-content-practice :is(h2,h3)[data-r13718-heading-variant="immigration-long"] {
    inline-size: calc(100% + 30px) !important;
    width: calc(100% + 30px) !important;
    max-inline-size: calc(100% + 30px) !important;
    max-width: calc(100% + 30px) !important;
    font-size: clamp(20px, 6.15vw, 24px) !important;
    line-height: 1.10 !important;
  }

  /* Keep the coordinated manner phrase whole instead of leaving a final
     conjunction-led row (`and Efficiency`). */
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] #r53-main
    .r54-content-practice :is(h2,h3)[data-r13718-heading-variant="other-probate-long"] {
    inline-size: calc(100% + 30px) !important;
    width: calc(100% + 30px) !important;
    max-inline-size: calc(100% + 30px) !important;
    max-width: calc(100% + 30px) !important;
    font-size: clamp(20px, 6.15vw, 24px) !important;
    line-height: 1.10 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] main#r53-main#r53-main
    section.r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-media-order="8"]
    div.r54-route-hero-title > h1[data-r78-hero-title][data-r1376-title-state="service-immigration-atom"],
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision][data-r53-locale="en"] main#r53-main#r53-main
    section.r54-route-hero.r53-page-hero-has-media:not(.r87-purpose-hero)[data-r136-media-order="8"]
    div.r54-route-hero-title > h1[data-r78-hero-title][data-r1376-title-state="service-immigration-atom"] > span.r72-semantic-unit {
    font-size: clamp(31.5px, 9.8vw, 38.2px) !important;
  }
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision].r60-firm #r53-main
  .r54-content-editorial.r54-standard-firm-people .r54-firm-counsel-intro.r13718-firm-counsel-continuation {
  display: block !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  gap: 0 !important;
  align-items: start !important;
  width: min(100%, 1120px) !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: clamp(30px, 4vw, 48px) 0 clamp(22px, 3vw, 36px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision].r60-firm #r53-main
  .r54-content-editorial.r54-standard-firm-people .r54-firm-counsel-intro.r13718-firm-counsel-continuation > .r54-firm-counsel-deck {
  grid-column: 1 !important;
  grid-row: auto !important;
  align-self: start !important;
  width: 100% !important;
  max-width: 64ch !important;
  margin: 0 !important;
}

/* R137.19 source-bound responsive typography authority.
   Approved and incumbent strings stay as one plain text stream. The browser
   balances real words inside the registered rail; no route name, target line
   count, injected break, word-index split or device-specific phrase controls
   composition. This terminal rule also removes the earlier empty-rail width
   extensions now that the copy plane itself is correctly registered. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] main#r53-main#r53-main
  :is(.r54-home-authority,.r54-route-hero) h1[data-r78-hero-title] {
  display: block !important;
  inline-size: auto !important;
  width: auto !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  min-inline-size: 0 !important;
  white-space: normal !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] main#r53-main#r53-main
  :is(.r54-home-authority,.r54-route-hero) h1[data-r78-hero-title] > :is(span,strong,em) {
  display: inline !important;
  inline-size: auto !important;
  width: auto !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  white-space: inherit !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] main#r53-main#r53-main
  :is(.r54-home-authority .r61-home-service-summary,.r54-route-hero .r53-page-side > p) {
  inline-size: auto !important;
  width: auto !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  text-wrap: pretty !important;
  overflow-wrap: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] main#r53-main#r53-main
  .r54-practice-directory-heading .r53-section-heading > h2 {
  inline-size: auto !important;
  width: auto !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
}

/* R137.19 shared practice-hero measure correction.
   The approved English service names remain untouched plain text. A single
   semantic service-title scale and rail lets the browser keep the complete
   source name together when it fits; there are no title-string selectors,
   phrase atoms, inserted opportunities, target rows or device-authored cuts.
   The compact display tracking is the same at every width and the type grows
   continuously from the 320px rail into the desktop stage. */
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-title > h1[data-r78-hero-title] {
  max-inline-size: 100% !important;
  max-width: 100% !important;
  font-size: clamp(33px, 10vw, 64px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
  white-space: normal !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (min-width: 320px) and (max-width: 620px) {
  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-title {
    padding-inline: clamp(18px, 6vw, 24px) !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-title > h1[data-r78-hero-title] {
    letter-spacing: -.069em !important;
  }
}

/* The James-approved Home service sentence has two naturally balanced clauses.
   A role-relative measure admits the complete first clause through “law” but
   does not leave the preposition “in” stranded. The source string and normal
   language break opportunities remain unchanged. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] main#r53-main#r53-main
  .r54-home-authority p.r61-home-service-summary {
  inline-size: 15em !important;
  width: 15em !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
}

/* R137.20 shared Home practice-card text-track correction.
   The grid keeps its existing dedicated action column. The title consumes only
   its minmax text track and wraps at real language spaces; no title selector,
   forced break, shrink-to-fit, clipping or ellipsis is used. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision].r60-home main#r53-main#r53-main
  .r54-practice-workspace .r54-practice-grid > .r54-practice-card > h3 {
  min-inline-size: 0 !important;
  inline-size: auto !important;
  width: auto !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  text-wrap: wrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

/* R137.21 terminal Chinese prose containment correction.
   The older shared keep-all override made complete mixed CJK/Latin strings
   wider than the 390px reading rail, so the outer site plane hid final glyphs.
   Korean keep-all and every source string remain untouched; Chinese article
   and biography prose may wrap at ordinary character boundaries, with an
   emergency fallback only for genuinely unbreakable mixed-script tokens. */
@media (max-width: 782px) {
  html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] main#r53-main#r53-main
    .r54-article-prose :is(p, li, blockquote, h2, h3, h4),
  html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] main#r53-main#r53-main
    .r54-article-prose :is(p, li, blockquote, h2, h3, h4) :is(a, span, strong, em, b, i),
  html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] main#r53-main#r53-main
    .r123-counsel-profile-system :is(.r54-counsel-chapter-body, .r123-counsel-biography, .r65-biography-copy) :is(p, li, blockquote),
  html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] main#r53-main#r53-main
    .r123-counsel-profile-system :is(.r54-counsel-chapter-body, .r123-counsel-biography, .r65-biography-copy) :is(p, li, blockquote) :is(a, span, strong, em, b, i) {
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    line-break: strict !important;
  }
}

/* R137.23 source-preserving long-form containment.
   Separator-only inherited paragraphs are normalized to the semantic rule at
   the display boundary. Korean prose keeps whole-word behavior and receives
   only an emergency overflow opportunity for truly unbreakable runs. Chinese
   direct emphasis and FAQ questions inherit ordinary CJK wrapping instead of
   the older global keep-all rule. Stored WordPress text is unchanged. */
.r53-site[data-site-production-root][data-r54-revision] .r137-article-separator {
  display: block;
  inline-size: 100%;
  max-inline-size: 100%;
  block-size: 0;
  margin: clamp(1.5rem, 3vw, 2.5rem) 0;
  border: 0;
  border-block-start: 1px solid color-mix(in srgb, currentColor 22%, transparent);
}

@media (max-width: 782px) {
  html[lang^="ko"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] main#r53-main#r53-main
    .r54-article-prose {
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] main#r53-main#r53-main
    .r54-article-prose :is(strong, b),
  html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] main#r53-main#r53-main
    .r53-faq details > summary,
  html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] main#r53-main#r53-main
    .r53-faq details > summary > strong,
  html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] main#r53-main#r53-main
    .r54-faq-lead > strong,
  html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision] main#r53-main#r53-main
    .r54-faq-source-fallback :is(strong, b) {
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    line-break: strict !important;
  }
}
