/* R140 native-copy and natural-wrap correction.
 *
 * The complete approved string remains one continuous text node. Layout may
 * change its measure and type role, but it may not insert phrase spans, forced
 * breaks, viewport copy, clipping, shrink-to-fit, or target-line composition. */

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3),
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3) > a,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r79-home-audience-line {
  white-space: normal !important;
  text-wrap: pretty !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  transform: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main h1[data-r140-natural-heading="true"] {
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
}

/* `100vw` includes the desktop scrollbar and previously shifted several
 * purpose heroes 7.5px off both rails at 898px. Bind every hero and its grid
 * to the actual document content box instead of the visual viewport. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r54-route-hero,
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r54-route-hero > .r54-route-hero-grid {
  box-sizing: border-box !important;
  left: auto !important;
  right: auto !important;
  inline-size: 100% !important;
  width: 100% !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  transform: none !important;
}

html[lang^="ko"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3),
html[lang^="ko"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r79-home-audience-line {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  line-break: auto !important;
}

html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main :is(h1, h2, h3),
html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r79-home-audience-line {
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-break: strict !important;
}

/* Keep every route hero on the registered public rail. The old R139 Chinese
 * and About negative-margin rescues no longer match any current heading and
 * are explicitly neutralized here at the owning wrapper. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r54-route-hero-title {
  box-sizing: border-box !important;
  min-inline-size: 0 !important;
  margin-inline: 0 !important;
}

@media (max-width: 760px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main
    :is(.r54-route-hero-practice-family, .r54-route-hero-practice-media-led, .r54-route-hero-practice-asset-gap)
    .r54-route-hero-title,
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero-title {
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero-title
    > h1[data-r78-hero-title][data-r140-natural-heading="true"] {
    font-size: clamp(36px, 10vw, 42px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.012em !important;
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  html[lang^="ko"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero-title
    > h1[data-r78-hero-title][data-r140-natural-heading="true"] {
    font-size: clamp(36px, 9.4vw, 40px) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.01em !important;
  }

  html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero-title
    > h1[data-r78-hero-title][data-r140-natural-heading="true"] {
    font-size: clamp(36px, 9.4vw, 40px) !important;
    line-height: 1.14 !important;
    letter-spacing: 0 !important;
  }

  html body.gl-r53 .r53-site.r60-article-archive[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r53-article-card-copy :is(h2, h2 > a) {
    text-wrap: pretty !important;
  }
}

@media (max-width: 350px) {
  html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero-title
    > h1[data-r78-hero-title][data-r140-natural-heading="true"] {
    font-size: 36px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.012em !important;
  }

  html[lang^="ko"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero-title
    > h1[data-r78-hero-title][data-r140-natural-heading="true"],
  html[lang^="zh"] body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
    main#r53-main#r53-main .r54-route-hero-title
    > h1[data-r78-hero-title][data-r140-natural-heading="true"] {
    font-size: 36px !important;
    letter-spacing: 0 !important;
  }
}

/* The About interview chapter already lives inside the registered story shell.
 * An older shell-width rule sized it a second time, pushing its label and video
 * past the right rail at scrollbar-bearing tablet widths. */
html body.gl-r53 .r53-site[data-site-production-root][data-r54-revision]
  main#r53-main#r53-main .r54-standard-firm-story .r54-source-videos {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
}
