/* R70 — owner screenshot correction and SITE visual-system binding.
   The thirteen 2026-08-16 owner captures are release-blocking negative
   fixtures. This terminal layer owns the wide geometry, type measure,
   semantic wrapping and atomic action/icon composition that earlier route
   layers allowed to diverge. */

:root {
  --r70-shell: 1440px;
  --r70-content: 1240px;
  --r70-reading: 720px;
  --r70-edge: clamp(24px, 4vw, 64px);
  --r70-section: clamp(56px, 6vw, 84px);
  --r70-section-tight: clamp(38px, 4.2vw, 58px);
  --r70-hero: clamp(380px, 27vw, 440px);
  --r70-display: clamp(46px, 4vw, 64px);
  --r70-section-title: clamp(36px, 3vw, 48px);
  --r70-card-title: clamp(24px, 2vw, 31px);
  --r70-body: clamp(16px, 1.1vw, 18px);
  --r70-night: #171114;
  --r70-wine: #5a0d12;
  --r70-red: #8b151b;
  --r70-paper: #f6f2ed;
  --r70-ink: #181315;
  --r70-muted: #61595b;
  --r70-line: rgba(38, 24, 28, .16);
}

html body.gl-r53 .r53-site[data-site-production-root] {
  --r68-header-shell: var(--r70-shell);
  --r68-content: var(--r70-content);
  --r68-reading: var(--r70-reading);
  --r68-edge: var(--r70-edge);
  --r67-shell: var(--r70-shell);
  --r67-content: var(--r70-content);
  --r67-reading: var(--r70-reading);
  overflow-x: clip;
  color: var(--r70-ink);
}

html body.gl-r53 .r53-site[data-site-production-root] *,
html body.gl-r53 .r53-site[data-site-production-root] *::before,
html body.gl-r53 .r53-site[data-site-production-root] *::after { box-sizing: border-box; }

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

html body.gl-r53 .r53-site[data-site-production-root] main :where(p,li,dd) {
  overflow-wrap: break-word;
  word-break: normal;
  text-wrap: pretty;
}

html body.gl-r53 .r53-site[data-r53-locale="ko"] main :where(h1,h2,h3,p,li,dd),
html body.gl-r53 .r53-site[data-r53-locale="zh"] main :where(h1,h2,h3,p,li,dd) {
  word-break: keep-all !important;
  line-break: strict;
}

/* Header: the descriptor is either complete or absent. A clipped brand is
   never used as responsive navigation pressure relief. */
html body.gl-r53 .r53-site[data-site-production-root] .r53-header-grid {
  width: min(calc(100% - 2 * var(--r70-edge)), var(--r70-shell)) !important;
  max-width: var(--r70-shell) !important;
  min-height: 82px;
  gap: clamp(12px, 1.4vw, 22px);
}

html body.gl-r53 .r53-site[data-site-production-root] .r53-brand {
  gap: 13px;
  max-width: 390px;
}

html body.gl-r53 .r53-site[data-site-production-root] .r53-brand strong {
  font-size: clamp(19px, 1.55vw, 24px);
}

html body.gl-r53 .r53-site[data-site-production-root] .r53-brand small {
  display: block;
  max-width: none;
  overflow: visible;
  text-overflow: clip;
  font-size: 9px;
  white-space: nowrap;
}

/* Atomic controls: one optical arrow, one hit target, no inherited circle or
   competing pseudo-icon. */
html body.gl-r53 .r53-site[data-site-production-root] :where(
  .r67-action-icon,.r63-relationship-arrow,.r54-person-profile-action em,
  .r54-practice-directory-action,.r54-firm-story-pathway-icon
) {
  display: inline-grid !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  flex: 0 0 18px !important;
  place-items: center !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

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

html body.gl-r53 .r53-site[data-site-production-root] .r62-footer-social .r62-external-arrow {
  display: inline-grid !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  flex: 0 0 18px !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  transform: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] .r62-footer-social .r62-external-arrow::before {
  content: "\2197" !important;
  font: 400 18px/1 var(--r53-sans) !important;
  transform: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] .r62-footer-social .r62-external-arrow :where(svg,.r67-icon) {
  display: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] .r62-footer-social a {
  justify-content: flex-start !important;
  gap: 12px !important;
}

/* One full-bleed interior masthead. The content axis stays bounded while the
   background and media field deliberately reach the viewport edges. */
html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero {
  min-height: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
  background: var(--r70-night) !important;
  color: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r54-route-hero-grid,
html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero.r53-page-hero-has-media .r54-route-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(400px, 36%) minmax(0, 64%) !important;
  grid-template-rows: var(--r70-hero) !important;
  width: 100% !important;
  max-width: none !important;
  height: var(--r70-hero) !important;
  min-height: var(--r70-hero) !important;
  margin: 0 !important;
  overflow: hidden !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 {
  position: relative !important;
  inset: auto !important;
  z-index: 2 !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: grid !important;
  width: auto !important;
  height: 100% !important;
  min-height: 0 !important;
  place-content: center start !important;
  padding: 46px clamp(34px, 3.2vw, 54px) 46px max(var(--r70-edge), calc((100vw - var(--r70-shell)) / 2 + var(--r70-edge))) !important;
  border: 0 !important;
  background: linear-gradient(135deg, #1b1216 0%, var(--r70-wine) 100%) !important;
  color: #fff !important;
  text-align: left !important;
  transform: none !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 {
  width: auto !important;
  max-width: 13ch !important;
  margin: 14px 0 0 !important;
  color: #fff !important;
  font: 500 var(--r70-display)/1.01 var(--r53-serif) !important;
  letter-spacing: -.035em !important;
  text-align: left !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r53-page-hero-media {
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  background: #21171a !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r53-page-hero-media::after {
  display: block !important;
  background: linear-gradient(90deg, rgba(35,11,16,.2), transparent 18%) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r53-page-hero-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: var(--r54-media-focus, center) !important;
}

/* Text-only mastheads are compact title bands, never mostly-empty canvases. */
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-columns: 1fr !important;
  grid-template-rows: 260px !important;
  height: 260px !important;
  min-height: 260px !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 {
  grid-column: 1 !important;
  padding: 44px max(var(--r70-edge), calc((100vw - var(--r70-content)) / 2 + var(--r70-edge))) !important;
  background: linear-gradient(108deg, var(--r70-night) 0%, #351016 58%, var(--r70-wine) 100%) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero:not(.r53-page-hero-has-media) .r53-page-side {
  display: none !important;
}

/* HOME counsel: one bounded introductory rail plus two contained people cards.
   The copy column cannot overlap the portrait stage at any width. */
html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel {
  padding: var(--r70-section) 0 !important;
  background: var(--r70-night) !important;
  color: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: 26px !important;
  width: min(calc(100% - 2 * var(--r70-edge)), var(--r70-content)) !important;
  max-width: var(--r70-content) !important;
  min-height: 0 !important;
  margin: 0 auto clamp(34px, 3.8vw, 48px) !important;
  padding: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro .r53-section-heading {
  display: grid !important;
  grid-template-columns: minmax(260px, .42fr) minmax(0, .58fr) !important;
  grid-template-rows: auto auto !important;
  gap: 12px clamp(36px, 5vw, 72px) !important;
  max-width: 1040px !important;
}

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

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro .r53-section-heading h2 {
  grid-column: 1 !important;
  grid-row: 2 !important;
  max-width: 12ch !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: var(--r70-section-title) !important;
  line-height: 1.04 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro .r53-deck {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  max-width: 58ch !important;
  margin: 0 !important;
  color: #ddd3d5 !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: clamp(28px, 3vw, 44px) !important;
  width: min(calc(100% - 2 * var(--r70-edge)), var(--r70-content)) !important;
  max-width: var(--r70-content) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-copy {
  display: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 26px 0 0 !important;
  background: transparent !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-copy .r53-deck {
  max-width: 24ch !important;
  margin-top: 20px !important;
  color: #eee6e8 !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
}

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

html body.gl-r53 .r53-site[data-site-production-root].r60-home main :where(.r54-selected-person,.r54-selected-person-associate) {
  display: grid !important;
  grid-template-rows: clamp(330px, 27vw, 390px) auto !important;
  height: auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  background: #fff !important;
  color: var(--r70-ink) !important;
  box-shadow: none !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;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #f5f4f2 !important;
}

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

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

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-person h3 {
  font-size: clamp(27px, 2.2vw, 34px) !important;
  line-height: 1.05 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-person small {
  display: -webkit-box !important;
  max-width: 58ch !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

/* About: preserve every source section while restoring readable measures and
   removing the inherited 46–60px card-heading inflation. */
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-content-firm-story {
  padding: 0 0 var(--r70-section) !important;
}

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

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

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

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-heading h2 {
  max-width: 20ch !important;
  margin: 0 !important;
  font-size: var(--r70-section-title) !important;
  line-height: 1.06 !important;
  letter-spacing: -.025em !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry:nth-child(n) {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 28px !important;
  border: 0 !important;
  background: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry > h3 {
  max-width: 22ch !important;
  margin: 0 !important;
  font-size: var(--r70-card-title) !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry .r54-narrative-chapter-body {
  grid-column: auto !important;
  width: auto !important;
  max-width: 68ch !important;
  margin: 16px 0 0 !important;
  color: #433c3e !important;
  font-size: 16px !important;
  line-height: 1.68 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-opening .r54-firm-story-group-grid,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-proof,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-authority {
  display: grid !important;
  grid-template-columns: minmax(300px, .42fr) minmax(0, .58fr) !important;
  gap: clamp(38px, 5vw, 72px) !important;
  align-items: start !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-opening .r54-firm-story-entry {
  display: grid !important;
  grid-template-columns: minmax(300px, .42fr) minmax(0, .58fr) !important;
  gap: clamp(38px, 5vw, 72px) !important;
  padding: 34px 0 !important;
  border-top: 1px solid var(--r70-line) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-opening .r54-firm-story-entry > h3 {
  grid-column: 1 !important;
  max-width: 16ch !important;
  font-size: clamp(36px, 3.2vw, 48px) !important;
  line-height: 1.06 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-opening .r54-narrative-chapter-body {
  grid-column: 2 !important;
  margin-top: 0 !important;
  font-size: 17px !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-proof > .r54-firm-story-group-heading,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-authority > .r54-firm-story-group-heading {
  grid-column: 1 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-proof > .r54-firm-story-group-grid,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-authority > .r54-firm-story-group-grid {
  grid-column: 2 !important;
  border-top: 1px solid var(--r70-line) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-authority {
  padding: var(--r70-section-tight) clamp(34px, 4.2vw, 60px) !important;
  background: var(--r70-wine) !important;
  color: #fff !important;
  box-shadow: none !important;
}

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

html body.gl-r53 .r53-site[data-site-production-root].r60-about main :where(
  .r54-firm-story-group-capabilities,.r54-firm-story-group-principles,.r54-firm-story-group-process
) .r54-firm-story-group-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1px !important;
  border: 1px solid var(--r70-line) !important;
  background: var(--r70-line) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-pathways .r54-firm-story-group-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1px !important;
  background: var(--r70-line) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-pathways .r54-firm-story-entry-lead {
  grid-column: 1 / -1 !important;
  padding: 0 0 28px !important;
  background: #fff !important;
}

/* Practice directories are aligned rows with one restrained end icon. */
html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-directory-layout {
  display: grid !important;
  grid-template-columns: minmax(240px, .32fr) minmax(0, .68fr) !important;
  gap: clamp(34px, 5vw, 72px) !important;
  width: min(calc(100% - 2 * var(--r70-edge)), var(--r70-content)) !important;
  max-width: var(--r70-content) !important;
  margin-inline: auto !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-directory-heading h2 {
  max-width: 12ch !important;
  font-size: var(--r70-section-title) !important;
  line-height: 1.06 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-directory-link {
  min-height: 86px !important;
  padding: 18px 20px !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-directory-link strong {
  font-size: clamp(23px, 2vw, 30px) !important;
  line-height: 1.15 !important;
}

/* Practice narrative headings receive enough measure for complete legal
   phrases. The former 14ch/39px pairing produced six one-word lines. */
html body.gl-r53 .r53-site[data-site-production-root] main .r54-content-practice .r54-narrative-chapter {
  grid-template-columns: minmax(300px, .38fr) minmax(0, .62fr) !important;
  gap: clamp(38px, 5vw, 72px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-content-practice .r54-narrative-chapter > h2 {
  max-width: 18ch !important;
  font-size: clamp(29px, 2.35vw, 36px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.022em !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-content-practice .r54-narrative-chapter-body {
  max-width: 68ch !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

/* FAQ: a normal lead rail, not a 60px title squeezed beside a label. */
html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq {
  padding: var(--r70-section) 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq-grid {
  display: grid !important;
  grid-template-columns: minmax(270px, .34fr) minmax(0, .66fr) !important;
  gap: clamp(38px, 5vw, 72px) !important;
  width: min(calc(100% - 2 * var(--r70-edge)), var(--r70-content)) !important;
  max-width: var(--r70-content) !important;
  margin-inline: auto !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-faq-lead {
  position: static !important;
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-faq-lead strong {
  display: block !important;
  max-width: 15ch !important;
  margin-top: 18px !important;
  font: 500 var(--r70-section-title)/1.06 var(--r53-serif) !important;
  letter-spacing: -.025em !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq details {
  border-top: 1px solid var(--r70-line) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq summary {
  min-height: 72px !important;
  padding: 18px 48px 18px 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq summary > strong {
  font-size: clamp(19px, 1.55vw, 23px) !important;
  line-height: 1.28 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq summary::after {
  width: 18px !important;
  height: 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--r70-red) !important;
  font-size: 22px !important;
  line-height: 18px !important;
}

/* Contact: one content rail, bounded form, and no side gutters painted as
   unrelated red/black panels. */
html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r53-office-record,
html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r54-contact-workflow {
  padding: var(--r70-section-tight) 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-contact main :where(.r53-office-record-grid,.r53-contact-grid) {
  width: min(calc(100% - 2 * var(--r70-edge)), var(--r70-content)) !important;
  max-width: var(--r70-content) !important;
  margin-inline: auto !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r54-contact-workflow-has-form .r53-contact-grid {
  display: grid !important;
  grid-template-columns: minmax(300px, .36fr) minmax(0, .64fr) !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--r70-line) !important;
  background: #fff !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r54-contact-workflow-has-form .r53-contact-copy {
  min-width: 0 !important;
  padding: clamp(34px, 4vw, 56px) !important;
  background: linear-gradient(145deg, var(--r70-wine), var(--r70-red)) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r54-contact-workflow-has-form .r53-contact-copy h2 {
  max-width: 12ch !important;
  font-size: clamp(38px, 3.1vw, 48px) !important;
  line-height: 1.04 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r54-contact-workflow-has-form .r53-form-shell {
  min-width: 0 !important;
  padding: clamp(28px, 3.5vw, 48px) !important;
  background: #fff !important;
}

/* Tablet: hero remains consistent; dense groups become two columns. */
@media (max-width: 1180px) {
  html body.gl-r53 .r53-site[data-site-production-root] .r53-brand small { display: none !important; }
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r54-route-hero-grid,
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero.r53-page-hero-has-media .r54-route-hero-grid {
    grid-template-columns: minmax(340px, 42%) minmax(0, 58%) !important;
  }
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main :where(
    .r54-firm-story-group-capabilities,.r54-firm-story-group-principles,.r54-firm-story-group-process
  ) .r54-firm-story-group-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 820px) {
  :root {
    --r70-edge: 20px;
    --r70-hero: auto;
    --r70-display: clamp(39px, 9vw, 52px);
    --r70-section-title: clamp(33px, 7.5vw, 43px);
  }

  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(260px, 44vw) !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 {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 220px !important;
    padding: 42px var(--r70-edge) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r53-page-hero-media {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-height: 260px !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: 220px !important;
    height: 220px !important;
    min-height: 220px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro,
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro .r53-section-heading,
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-grid,
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-directory-layout,
  html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq-grid,
  html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r54-contact-workflow-has-form .r53-contact-grid,
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-opening .r54-firm-story-group-grid,
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-opening .r54-firm-story-entry,
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-proof,
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-authority {
    grid-template-columns: 1fr !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-content-practice .r54-narrative-chapter {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-content-practice .r54-narrative-chapter > h2,
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-content-practice .r54-narrative-chapter-body {
    grid-column: 1 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro { align-items: start !important; }
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro .r53-deck,
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-intro .r53-section-heading h2 {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-copy {
    display: none !important;
  }
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-opening .r54-narrative-chapter-body,
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-proof > .r54-firm-story-group-grid,
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-authority > .r54-firm-story-group-grid {
    grid-column: 1 !important;
  }
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main :where(
    .r54-firm-story-group-capabilities,.r54-firm-story-group-principles,.r54-firm-story-group-process,.r54-firm-story-group-pathways
  ) .r54-firm-story-group-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 620px) {
  :root { --r70-edge: 18px; }
  html body.gl-r53 .r53-site[data-site-production-root] .r53-header-grid { min-height: 72px; }
  html body.gl-r53 .r53-site[data-site-production-root] .r53-logo { width: 44px; height: 44px; }
  html body.gl-r53 .r53-site[data-site-production-root] .r53-brand strong { font-size: 17px; }
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel-stage {
    grid-template-columns: 1fr !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: 360px auto !important;
  }
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry,
  html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry:nth-child(n) {
    padding: 24px 20px !important;
  }
  html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq summary { padding-right: 40px !important; }
  html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r54-contact-workflow-has-form .r53-contact-copy,
  html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r54-contact-workflow-has-form .r53-form-shell {
    padding: 30px 22px !important;
  }
}

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