/* R72 — coherent full-portrait framing and semantic phrase wrapping.
   Darren rejected the R71 side-extended portrait because its synthetic bands
   were visible and rejected phrase breaks that separated one meaning unit.
   This terminal layer renders the complete 4:5 studio portrait without crop
   and keeps registered EN/KO/ZH headline phrases atomic. */

:root {
  --r71-display: clamp(42px, 3.35vw, 54px);
  --r71-section-title: clamp(34px, 2.65vw, 42px);
  --r71-card-title: clamp(27px, 2.15vw, 33px);
  --r71-eyebrow: 11px;
  --r71-body: clamp(15.5px, 1vw, 17px);
  --r71-paper: #f3efea;
  --r71-paper-soft: #faf8f5;
  --r71-ink: #191416;
  --r71-muted: #625b5d;
  --r71-red: #8b151b;
  --r71-line: rgba(35, 22, 27, .15);
}

/* One eyebrow grammar everywhere: readable, restrained, and never a tiny
   decorative afterthought. */
html body.gl-r53 .r53-site[data-site-production-root] main .r53-eyebrow {
  margin: 0 0 18px !important;
  color: var(--r71-red) !important;
  font: 600 var(--r71-eyebrow)/1.3 var(--r53-sans) !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r53-eyebrow > span {
  display: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(
  .r54-route-hero,.r54-contact-workflow-has-form,.r54-firm-story-group-authority
) .r53-eyebrow {
  color: #e5b3b7 !important;
}

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

.r71-menu-languages {
  display: none;
}

/* Home remains the lead expression, but no longer consumes nearly a full
   viewport or treats the proposition as billboard copy. */
html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-home-authority-stage,
html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-home-authority-inner {
  height: clamp(560px, 68vh, 660px) !important;
  min-height: clamp(560px, 68vh, 660px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-home-authority-copy h1 {
  max-width: 16ch !important;
  font-size: clamp(48px, 4.4vw, 62px) !important;
  line-height: 1.02 !important;
}

/* Route mastheads share geometry, not an identical poster. Media routes use a
   quieter title scale and allow the photography to carry more of the page. */
html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r54-route-hero-grid,
html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero.r53-page-hero-has-media .r54-route-hero-grid {
  grid-template-columns: minmax(360px, 34%) minmax(0, 66%) !important;
  grid-template-rows: clamp(360px, 25vw, 410px) !important;
  height: clamp(360px, 25vw, 410px) !important;
  min-height: clamp(360px, 25vw, 410px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero h1,
html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero.r53-page-hero-has-media h1 {
  max-width: 12ch !important;
  margin-top: 17px !important;
  font-size: var(--r71-display) !important;
  line-height: 1.02 !important;
  letter-spacing: -.032em !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero:not(.r53-page-hero-has-media) .r54-route-hero-grid {
  grid-template-rows: 232px !important;
  height: 232px !important;
  min-height: 232px !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero:not(.r53-page-hero-has-media) .r54-route-hero-title {
  padding-block: 38px !important;
  background: linear-gradient(112deg, #181216 0%, #2a1116 46%, #5a0d12 100%) !important;
}

/* The contact route is information-first rather than a second copy of About. */
html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r54-route-hero .r54-route-hero-grid {
  grid-template-columns: minmax(350px, 36%) minmax(0, 64%) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r54-route-hero h1 {
  font-size: clamp(42px, 3vw, 50px) !important;
}

/* Home counsel becomes a warm editorial register. That removes the repeated
   black-panel rhythm while retaining one coherent identity system. */
html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel {
  padding: clamp(64px, 6vw, 88px) 0 clamp(72px, 7vw, 104px) !important;
  background: var(--r71-paper) !important;
  color: var(--r71-ink) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro {
  align-items: center !important;
  margin-bottom: clamp(38px, 4.2vw, 56px) !important;
  padding-bottom: 30px !important;
  border-bottom: 1px solid var(--r71-line) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro .r53-section-heading {
  grid-template-columns: minmax(270px, .4fr) minmax(0, .6fr) !important;
  gap: 10px clamp(44px, 5.2vw, 76px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro .r53-section-heading h2 {
  max-width: 13ch !important;
  color: var(--r71-ink) !important;
  font-size: var(--r71-section-title) !important;
  line-height: 1.04 !important;
  letter-spacing: -.028em !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro .r53-deck {
  max-width: 62ch !important;
  color: var(--r71-muted) !important;
  font-size: 15.5px !important;
  line-height: 1.64 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro > .r53-action {
  min-height: 46px !important;
  padding: 0 2px !important;
  color: var(--r71-red) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-stage {
  gap: clamp(24px, 2.6vw, 36px) !important;
  align-items: start !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: min(100%, 1040px) !important;
  margin-inline: auto !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main :where(.r54-selected-person,.r54-selected-person-associate) {
  grid-template-rows: auto auto !important;
  border: 0 !important;
  background: #fff !important;
  box-shadow: 0 18px 48px rgba(38, 24, 28, .08) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-person-associate {
  margin-top: 0 !important;
}

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

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-person .r53-counsel-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-person-associate .r53-counsel-image {
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] :where(h1,h2,h3) {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  text-wrap: balance !important;
}

html body.gl-r53 .r53-site[data-site-production-root] .r72-semantic-unit {
  display: inline-block;
  white-space: nowrap;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main :where(.r54-selected-person,.r54-selected-person-associate) > div {
  padding: 22px 24px 24px !important;
  border-top: 2px solid var(--r71-red) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-person h3 {
  margin-top: 20px !important;
  font-size: var(--r71-card-title) !important;
  letter-spacing: -.025em !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-person :where(.r53-eyebrow,.r54-person-role) {
  font-size: 10px !important;
  letter-spacing: .12em !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-person small {
  font-size: 14.5px !important;
  line-height: 1.55 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-person-profile-action {
  min-height: 44px !important;
  font-size: 12px !important;
}

/* Secondary page typography follows one restrained scale. */
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-heading h2 {
  font-size: var(--r71-section-title) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-opening .r54-firm-story-entry > h3 {
  font-size: clamp(34px, 2.75vw, 42px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry > h3 {
  font-size: clamp(25px, 1.9vw, 30px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-content-practice .r54-narrative-chapter > h2 {
  font-size: clamp(29px, 2.2vw, 35px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-faq-lead strong {
  font-size: clamp(34px, 2.65vw, 42px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r54-contact-workflow-has-form .r53-contact-copy h2 {
  font-size: clamp(35px, 2.7vw, 43px) !important;
}

@media (max-width: 1180px) {
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r54-route-hero-grid,
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero.r53-page-hero-has-media .r54-route-hero-grid {
    grid-template-columns: minmax(330px, 40%) minmax(0, 60%) !important;
  }
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro > .r53-action {
    align-self: end !important;
  }
}

@media (max-width: 820px) {
  :root {
    --r71-display: clamp(37px, 8.6vw, 46px);
    --r71-section-title: clamp(31px, 7.2vw, 39px);
    --r71-card-title: clamp(27px, 6vw, 32px);
  }

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

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r54-route-hero-title,
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero.r53-page-hero-has-media .r54-route-hero-title {
    min-height: 196px !important;
    padding-block: 36px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero:not(.r53-page-hero-has-media) .r54-route-hero-grid {
    grid-template-rows: 196px !important;
    height: 196px !important;
    min-height: 196px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro {
    gap: 22px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro .r53-section-heading {
    gap: 12px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro > .r53-action {
    justify-self: start !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-person-associate {
    margin-top: 0 !important;
  }
}

@media (max-width: 620px) {
  html body.gl-r53 .r53-site[data-site-production-root] .r53-header-grid {
    grid-template-columns: minmax(0, 1fr) auto !important;
    width: calc(100% - 36px) !important;
    min-height: 70px !important;
    gap: 12px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] .r53-brand {
    grid-column: 1 !important;
    max-width: 100% !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] > .r53-header .r53-header-grid > .r53-languages {
    display: none !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] .r53-menu {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] .r53-menu summary {
    min-width: 54px !important;
    min-height: 44px !important;
    padding: 8px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] .r53-menu-panel {
    right: 0 !important;
    width: min(340px, calc(100vw - 36px)) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] .r71-menu-languages {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 10px;
    border: 1px solid var(--r71-line);
  }

  html body.gl-r53 .r53-site[data-site-production-root] .r71-menu-languages :where(a,span) {
    display: grid;
    min-height: 44px;
    place-items: center;
    padding: 8px;
    color: var(--r71-muted);
    font: 600 10px/1.2 var(--r53-sans);
  }

  html body.gl-r53 .r53-site[data-site-production-root] .r71-menu-languages :where(a,span) + :where(a,span) {
    border-left: 1px solid var(--r71-line);
  }

  html body.gl-r53 .r53-site[data-site-production-root] .r71-menu-languages a[aria-current="page"] {
    color: var(--r71-red);
    box-shadow: inset 0 -2px var(--r71-red);
  }

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

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-home-authority-copy h1 {
    font-size: clamp(38px, 10.7vw, 44px) !important;
    line-height: 1.06 !important;
  }
}

@media (max-width: 620px) {
  html body.gl-r53 .r53-site[data-site-production-root] main .r53-eyebrow {
    margin-bottom: 15px !important;
    font-size: 11px !important;
  }

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

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main :where(.r54-selected-person,.r54-selected-person-associate) {
    grid-template-rows: auto auto !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-person .r53-counsel-image {
    object-position: center bottom !important;
  }
}

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