/*
 * R76 owner-corrected production geometry.
 *
 * This is the terminal visual contract for the candidate. It removes accidental
 * whitespace bands, count-mismatched grids, oversized counsel/media surfaces,
 * and mixed icon/control geometry without changing route content or locale
 * structure. EN/KO/ZH consume the same component measurements.
 */

:root {
  --r76-red: #971922;
  --r76-red-deep: #650b13;
  --r76-oxblood: #3b0c12;
  --r76-ink: #171316;
  --r76-copy: #514b4e;
  --r76-paper: #f5f1ea;
  --r76-photo: #f3f1ef;
  --r76-mist: #edf1ef;
  --r76-line: #d9d2ce;
  --r76-shell: min(1540px, calc(100vw - 96px));
  --r76-reading: 72ch;
  --r76-section-y: clamp(58px, 5vw, 82px);
  --r76-compact-y: clamp(42px, 3.6vw, 60px);
  --r76-gap: clamp(24px, 3vw, 44px);
  --r76-h1: clamp(48px, 5.1vw, 82px);
  --r76-h2: clamp(36px, 3.7vw, 58px);
  --r76-h3: clamp(25px, 2.3vw, 36px);
  --r76-body: clamp(16px, 1.12vw, 18px);
  --r76-lead: clamp(18px, 1.45vw, 22px);
  --r76-shadow: 0 18px 44px rgba(31, 18, 22, .08);
}

html body.gl-r53 .r53-site[data-site-production-root] .r53-shell {
  width: var(--r76-shell) !important;
  max-width: var(--r76-shell) !important;
  margin-inline: auto !important;
}

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

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

html body.gl-r53 .r53-site[data-site-production-root] main .r53-eyebrow,
html body.gl-r53 .r53-site[data-site-production-root] main .r54-firm-counsel-eyebrow {
  font-size: 12px !important;
  line-height: 1.25 !important;
  letter-spacing: .15em !important;
}

/* One bounded page-hero contract. Media heroes and text-only heroes no longer
   look like unrelated templates or introduce a second empty hero below them. */
html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero {
  min-height: 0 !important;
  height: clamp(360px, 24vw, 430px) !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 {
  min-height: 100% !important;
  height: 100% !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r54-route-hero-title {
  padding-block: clamp(48px, 6vw, 82px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero h1 {
  max-width: 13ch !important;
  font-size: clamp(46px, 4.8vw, 76px) !important;
  line-height: .98 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-faq main .r54-route-hero:not(.r53-page-hero-has-media) {
  height: clamp(238px, 17vw, 300px) !important;
}

/* Home hero and principle: strong statement gets a restrained draw/reveal,
   not decorative motion with no reading purpose. */
html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-home-authority {
  min-height: clamp(610px, 47vw, 720px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-home-authority h1 {
  max-width: 15ch !important;
  font-size: var(--r76-h1) !important;
  line-height: .97 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r61-home-principle {
  min-height: 0 !important;
  padding-block: var(--r76-compact-y) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r61-home-principle-grid {
  grid-template-columns: minmax(180px, .34fr) minmax(0, 1fr) !important;
  gap: clamp(32px, 5vw, 72px) !important;
  align-items: center !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r61-home-principle-quote {
  position: relative !important;
  margin: 0 !important;
  padding: 8px 0 8px clamp(24px, 3vw, 38px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r61-home-principle-quote::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  content: "";
  background: var(--r76-red);
  transform: scaleY(.08);
  transform-origin: top;
  transition: transform 520ms cubic-bezier(.22, 1, .36, 1);
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r61-home-principle.is-r76-visible .r61-home-principle-quote::before {
  transform: scaleY(1);
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-original-home-statement {
  max-width: 24ch !important;
  margin: 0 !important;
  font-size: clamp(34px, 3.8vw, 58px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
  opacity: .01;
  transform: translateY(12px);
  transition: opacity 420ms ease 90ms, transform 520ms cubic-bezier(.22, 1, .36, 1) 90ms;
  border-left: 0 !important;
  padding-left: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r61-home-principle.is-r76-visible .r54-original-home-statement {
  opacity: 1;
  transform: translateY(0);
}

/* Counsel introduction and portrait cards. No blank band precedes the title;
   both people use identical crop, image height, content height and background. */
html body.gl-r53 .r53-site[data-site-production-root].r60-firm main > .r54-standard-firm-people {
  padding: 0 0 var(--r76-section-y) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-editorial-narrative-grid {
  width: var(--r76-shell) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-counsel-intro {
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr) !important;
  gap: 16px clamp(36px, 5vw, 78px) !important;
  align-items: end !important;
  padding: var(--r76-compact-y) 0 34px !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-counsel-intro h2 {
  max-width: 12ch !important;
  font-size: var(--r76-h2) !important;
  line-height: 1 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-counsel-deck {
  max-width: 62ch !important;
  font-size: var(--r76-lead) !important;
  line-height: 1.5 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-selected-counsel-stage, .r54-firm-people-stage) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--r76-gap) !important;
  align-items: stretch !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-selected-person, .r54-selected-person-associate, .r54-firm-person),
html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-selected-person, .r54-selected-person-associate, .r54-firm-person):nth-child(n) {
  grid-template-rows: minmax(0, auto) minmax(220px, auto) !important;
  height: auto !important;
  min-height: 0 !important;
  border-color: var(--r76-line) !important;
  box-shadow: var(--r76-shadow) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-selected-person, .r54-selected-person-associate, .r54-firm-person) > figure,
html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-selected-person, .r54-selected-person-associate, .r54-firm-person):nth-child(n) > figure {
  width: 100% !important;
  height: clamp(390px, 29vw, 500px) !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  background: var(--r76-photo) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(.r53-counsel-image, .r54-firm-person-image) {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 28% !important;
  background: var(--r76-photo) !important;
  transform: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main img:is(.r53-counsel-image,.r54-firm-person-image)[src*="george.jpg"],
html body.gl-r53 .r53-site[data-site-production-root] main img:is(.r53-counsel-image,.r54-firm-person-image)[src*="george.jpg"] {
  transform: scale(1.12) !important;
  transform-origin: 50% 28% !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-selected-person, .r54-selected-person-associate, .r54-firm-person) > div,
html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-selected-person, .r54-selected-person-associate, .r54-firm-person):nth-child(n) > div {
  min-height: 230px !important;
  height: auto !important;
  padding: clamp(26px, 2.6vw, 36px) !important;
  border-top: 3px solid var(--r76-red) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-selected-person, .r54-firm-person) :where(h2, h3) {
  font-size: clamp(32px, 2.5vw, 42px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-person-summary {
  margin-top: 14px !important;
  font-size: var(--r76-body) !important;
  line-height: 1.55 !important;
}

/* Home counsel is a compact authority section, not a second full-screen pair. */
html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-selected-counsel {
  padding-block: var(--r76-section-y) !important;
}

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

/* Practice cards and directory links share one icon/action grammar. All six
   choices stay visible on mobile; there is no hidden horizontal one-card rail. */
html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-rail {
  padding-block: var(--r76-section-y) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-workspace {
  grid-template-columns: minmax(260px, .42fr) minmax(0, 1fr) !important;
  gap: clamp(44px, 6vw, 92px) !important;
  align-items: start !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-card,
html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-card:nth-child(n) {
  grid-template-columns: 44px minmax(0, 1fr) 20px !important;
  min-height: 138px !important;
  padding: 24px 26px !important;
  gap: 14px !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(.r53-practice-icon,.r67-office-fact-icon) {
  display: grid !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  place-items: center !important;
  margin: 0 !important;
  color: var(--r76-red) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main :where(.r53-practice-icon,.r67-office-fact-icon) svg {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  overflow: visible !important;
  stroke-width: 1.75 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-directory-layout {
  grid-template-columns: minmax(230px, .38fr) minmax(0, 1fr) !important;
  gap: clamp(40px, 6vw, 88px) !important;
  padding-block: var(--r76-section-y) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-directory-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 clamp(30px, 4vw, 60px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-directory-list li {
  min-width: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-directory-action {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  border: 0 !important;
  border-radius: 0 !important;
}

/* Count-aware editorial grids. Two entries always occupy two real tracks;
   three entries use three only when three items actually exist. */
html body.gl-r53 .r53-site[data-site-production-root] main .r54-firm-story-group-grid[data-r54-entry-count="1"] {
  grid-template-columns: minmax(0, 1fr) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-firm-story-group-grid[data-r54-entry-count="2"] {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-firm-story-group-grid[data-r54-entry-count="3"] {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-firm-story-group-grid[data-r54-entry-count="4"] {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-firm-story-group-grid[data-r54-entry-count] > :first-child {
  grid-column: auto !important;
}

/* About: remove full-screen padding per chapter and keep a controlled editorial
   alternation. Text stays inside a readable measure instead of touching edges. */
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-content-firm-story {
  padding: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-flow,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-narrative,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-groups {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !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(--r76-section-y) max(48px, calc((100vw - 1540px) / 2)) !important;
  gap: clamp(34px, 4vw, 64px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-heading,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-grid {
  width: 100% !important;
  max-width: 1540px !important;
  margin-inline: auto !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-group-heading h2 {
  max-width: 16ch !important;
  font-size: var(--r76-h2) !important;
  line-height: 1.02 !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;
  padding: clamp(28px, 3vw, 44px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry .r54-narrative-chapter-body,
html body.gl-r53 .r53-site[data-site-production-root].r60-about main .r54-firm-story-entry .r54-narrative-chapter-body p {
  max-width: var(--r76-reading) !important;
  font-size: var(--r76-body) !important;
  line-height: 1.68 !important;
}

/* General long-form counsel/editorial pages: alternate surfaces with a shared
   title/body grid, but avoid oversized empty chapters and edge-to-edge prose. */
html body.gl-r53 .r53-site[data-site-production-root] main .r54-narrative-chapter {
  grid-template-columns: minmax(220px, .36fr) minmax(0, .64fr) !important;
  gap: clamp(32px, 5vw, 72px) !important;
  padding: clamp(42px, 4.5vw, 64px) clamp(28px, 4vw, 56px) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-narrative-chapter :where(h2,h3) {
  max-width: 15ch !important;
  font-size: var(--r76-h3) !important;
  line-height: 1.08 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-narrative-chapter-body {
  max-width: var(--r76-reading) !important;
  font-size: var(--r76-body) !important;
  line-height: 1.7 !important;
}

/* Counsel biography reads as an editorial profile rather than one unbroken
   vertical text dump. Facts, education, biography and media share one compact
   rhythm; long copy becomes a balanced two-column surface on wide screens. */
html body.gl-r53 .r53-site[data-site-production-root] main .r54-counsel-biography-grid {
  row-gap: 36px !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r67-profile-education {
  padding-block: 44px !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r65-profile-record {
  margin-top: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r65-full-biography {
  display: block !important;
  grid-template-columns: minmax(0, 1fr) !important;
  padding: clamp(46px, 4vw, 64px) clamp(34px, 5vw, 76px) !important;
  border-block: 1px solid var(--r76-line) !important;
  background: var(--r76-paper) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r65-biography-heading {
  margin: 0 0 32px !important;
  font-size: var(--r76-h2) !important;
  line-height: 1 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r65-biography-copy {
  width: 100% !important;
  max-width: none !important;
  column-count: 2 !important;
  column-gap: clamp(38px, 5vw, 72px) !important;
  column-rule: 1px solid var(--r76-line) !important;
  font-size: var(--r76-body) !important;
  line-height: 1.72 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r65-biography-copy > p {
  margin: 0 0 24px !important;
  break-inside: avoid !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r65-biography-copy > p:first-child {
  column-span: all !important;
  max-width: 72ch !important;
  margin: 0 0 34px !important;
  padding-bottom: 28px !important;
  border-bottom: 1px solid var(--r76-line) !important;
  color: var(--r76-ink) !important;
  font-family: var(--r53-serif) !important;
  font-size: var(--r76-lead) !important;
  line-height: 1.5 !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r65-profile-video-section {
  margin-top: 36px !important;
  padding-block: 48px !important;
}

/* Video: heading and media share one shell and one gap; no detached empty band. */
html body.gl-r53 .r53-site[data-site-production-root] main .r54-source-videos {
  width: var(--r76-shell) !important;
  margin-inline: auto !important;
  padding: var(--r76-compact-y) 0 var(--r76-section-y) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-source-videos > .r53-eyebrow {
  margin: 0 0 28px !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-source-video-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--r76-gap) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-source-video-grid > :only-child {
  grid-column: 1 / -1 !important;
  width: min(100%, 980px) !important;
  justify-self: center !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r54-source-video figcaption {
  min-height: 70px !important;
  padding: 20px 24px !important;
}

/* FAQ: one precise stateful control. The icon is two 16px strokes; opening the
   native details rotates only the vertical stroke into a minus. */
html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq {
  padding-block: var(--r76-section-y) !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq-grid {
  grid-template-columns: minmax(220px, .34fr) minmax(0, .66fr) !important;
  gap: clamp(40px, 6vw, 92px) !important;
}

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

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

html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq summary::before {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  content: none !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq summary::after {
  right: 4px !important;
  width: 38px !important;
  height: 38px !important;
  border: 1px solid var(--r76-line) !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image:
    linear-gradient(var(--r76-red), var(--r76-red)),
    linear-gradient(var(--r76-red), var(--r76-red)) !important;
  background-position: center, center !important;
  background-repeat: no-repeat !important;
  background-size: 16px 1.5px, 1.5px 16px !important;
  content: "" !important;
  box-shadow: none !important;
  transform: none !important;
  transition: border-color 180ms ease, background-size 180ms ease !important;
}

html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq details[open] summary::after {
  border-color: var(--r76-red) !important;
  background-size: 16px 1.5px, 1.5px 0 !important;
  transform: none !important;
}

/* Contact: the office facts start immediately after the hero, then the form.
   No empty block is allowed between these functional surfaces. */
html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r53-office-record {
  padding-block: var(--r76-compact-y) !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r53-office-record-grid {
  gap: 28px !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r53-office-record .r53-section-heading {
  margin-bottom: 24px !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r53-office-record .r53-fact-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r62-office-fact {
  min-width: 0 !important;
  padding: 22px 24px !important;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r54-contact-workflow {
  margin-top: 0 !important;
  padding-block: var(--r76-section-y) !important;
}

/* Two real process entries never reserve a third track. */
html body.gl-r53 .r53-site[data-site-production-root] main :where(.r53-process-grid,.r54-process-grid,.r54-original-process-grid)[data-r54-entry-count="2"],
html body.gl-r53 .r53-site[data-site-production-root] main :where(.r53-process-grid,.r54-process-grid,.r54-original-process-grid):has(> :nth-child(2):last-child) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Tablet: preserve two-column logic where it remains readable. */
@media (max-width: 980px) {
  :root {
    --r76-shell: min(calc(100vw - 48px), 900px);
    --r76-section-y: clamp(48px, 7vw, 66px);
    --r76-compact-y: clamp(38px, 5vw, 50px);
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero {
    height: clamp(330px, 46vw, 410px) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-firm main .r54-firm-counsel-intro,
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-workspace,
  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 {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-selected-person, .r54-selected-person-associate, .r54-firm-person) > figure {
    height: clamp(330px, 48vw, 440px) !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-inline: 24px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-narrative-chapter {
    grid-template-columns: minmax(180px, .34fr) minmax(0, .66fr) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r53-office-record .r53-fact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile: every component is a visible vertical sequence with safe reading
   edges. No swipe-only hidden card, oversized portrait, or multi-column squeeze. */
@media (max-width: 640px) {
  :root {
    --r76-shell: calc(100vw - 40px);
    --r76-section-y: 48px;
    --r76-compact-y: 38px;
    --r76-h1: clamp(40px, 12vw, 54px);
    --r76-h2: clamp(34px, 10vw, 46px);
    --r76-h3: clamp(26px, 7vw, 34px);
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero {
    height: auto !important;
    min-height: 0 !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(0, 1fr) !important;
    height: auto !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r54-route-hero-title {
    min-height: 230px !important;
    padding: 44px 18px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-route-hero .r53-page-hero-media {
    height: 240px !important;
    min-height: 240px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r61-home-principle-grid,
  html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-selected-counsel-stage, .r54-firm-people-stage),
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-grid,
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-practice-directory-list,
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-source-video-grid,
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-firm-story-group-grid[data-r54-entry-count],
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-narrative-chapter,
  html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r53-office-record .r53-fact-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home #r53-main .r54-original-process .r54-original-process-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r61-home-principle-grid {
    gap: 22px !important;
  }

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

  html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-selected-person, .r54-selected-person-associate, .r54-firm-person) > figure {
    height: min(390px, 108vw) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main :where(.r54-selected-person, .r54-selected-person-associate, .r54-firm-person) > div {
    min-height: 280px !important;
    padding: 24px 22px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-card,
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-practice-card:nth-child(n) {
    grid-template-columns: 38px minmax(0, 1fr) 18px !important;
    min-height: 108px !important;
    padding: 20px 18px !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: 48px 20px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-firm-story-entry,
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-narrative-chapter {
    padding: 28px 22px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r54-narrative-chapter {
    gap: 20px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq summary {
    padding-right: 52px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-contact main .r62-office-fact {
    padding: 20px 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r61-home-principle-quote::before,
  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-original-home-statement,
  html body.gl-r53 .r53-site[data-site-production-root] main .r53-faq summary::after {
    transition: none !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r61-home-principle-quote::before {
    transform: scaleY(1) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home main .r54-original-home-statement {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Terminal specificity bridge. Earlier corrective layers used long, route-local
   selectors with !important. R76 deliberately wins those legacy selectors so
   the shared geometry above is the one rendered by every route and locale. */
@media (min-width: 981px) {
  html body.gl-r53 .r53-site[data-site-production-root] #r53-main .r54-counsel-biography-grid {
    row-gap: 36px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] #r53-main .r65-full-biography {
    display: block !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group,
  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group:nth-child(n) {
    padding-block: 64px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group-grid[data-r54-entry-count="4"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-about #r53-main .r54-firm-story-group-grid[data-r54-entry-count="4"] > .r54-firm-story-entry:first-child {
    grid-column: auto !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home #r53-main .r54-selected-counsel-grid .r54-selected-counsel-stage > .r54-selected-person,
  html body.gl-r53 .r53-site[data-site-production-root].r60-home #r53-main .r54-selected-counsel-grid .r54-selected-counsel-stage > .r54-selected-person:nth-child(n),
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm #r53-main .r54-standard-firm-people .r54-firm-people-stage > .r54-firm-person,
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm #r53-main .r54-standard-firm-people .r54-firm-people-stage > .r54-firm-person:nth-child(n) {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 420px minmax(210px, auto) !important;
    height: auto !important;
    min-height: 0 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home #r53-main .r54-selected-counsel-grid .r54-selected-counsel-stage > .r54-selected-person > figure,
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm #r53-main .r54-standard-firm-people .r54-firm-people-stage > .r54-firm-person > figure {
    grid-row: 1 !important;
    width: 100% !important;
    height: 420px !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home #r53-main .r54-selected-counsel-grid .r54-selected-counsel-stage > .r54-selected-person > div,
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm #r53-main .r54-standard-firm-people .r54-firm-people-stage > .r54-firm-person > div {
    grid-row: 2 !important;
    height: auto !important;
    min-height: 210px !important;
    padding: 30px 32px 32px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home #r53-main .r54-selected-counsel-stage,
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm #r53-main .r54-firm-people-stage {
    grid-auto-rows: 1fr !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home #r53-main .r54-selected-counsel-stage > .r54-selected-person,
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm #r53-main .r54-firm-people-stage > .r54-firm-person {
    height: 100% !important;
  }
}

@media (max-width: 640px) {
  html body.gl-r53 .r53-site[data-site-production-root] main .r54-counsel-biography-grid {
    row-gap: 22px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r67-profile-education {
    padding-block: 34px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r65-full-biography {
    padding: 38px 20px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root] main .r65-biography-copy {
    column-count: 1 !important;
    column-rule: 0 !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home #r53-main .r54-selected-counsel-grid .r54-selected-counsel-stage > .r54-selected-person,
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm #r53-main .r54-standard-firm-people .r54-firm-people-stage > .r54-firm-person {
    grid-template-rows: min(330px, 92vw) auto !important;
    width: 100% !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home #r53-main .r54-selected-counsel-grid .r54-selected-counsel-stage > .r54-selected-person > figure,
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm #r53-main .r54-standard-firm-people .r54-firm-people-stage > .r54-firm-person > figure {
    height: min(330px, 92vw) !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-home #r53-main .r54-selected-counsel-grid .r54-selected-counsel-stage > .r54-selected-person > div,
  html body.gl-r53 .r53-site[data-site-production-root].r60-firm #r53-main .r54-standard-firm-people .r54-firm-people-stage > .r54-firm-person > div {
    height: auto !important;
    min-height: 280px !important;
    padding: 24px 22px !important;
  }

  html body.gl-r53 .r53-site[data-site-production-root].r60-firm #r53-main .r54-standard-firm-people .r54-firm-people-stage > .r54-firm-person > div {
    min-height: 414px !important;
  }
}

/* Count-four pathway groups are an exact 2×2 system. The older source carried
   a one-plus-three editorial rule with a third phantom track; this terminal
   selector intentionally outranks that legacy rule. */
@media (min-width: 1180px) {
  html body.gl-r53 .r53-site.r60-about[data-site-production-root] #r53-main .r54-content-firm-story .r54-firm-story-group.r54-firm-story-group-pathways .r54-firm-story-group-grid[data-r54-entry-count="4"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.gl-r53 .r53-site.r60-about[data-site-production-root] #r53-main .r54-content-firm-story .r54-firm-story-group.r54-firm-story-group-pathways .r54-firm-story-group-grid[data-r54-entry-count="4"] > .r54-firm-story-entry,
  html body.gl-r53 .r53-site.r60-about[data-site-production-root] #r53-main .r54-content-firm-story .r54-firm-story-group.r54-firm-story-group-pathways .r54-firm-story-group-grid[data-r54-entry-count="4"] > .r54-firm-story-entry:first-child {
    grid-column: auto !important;
    grid-row: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Optical normalization must survive older portrait reset rules. Subject
   identity pixels are unchanged; this is display scale only. */
html body.gl-r53 .r53-site[data-site-production-root] #r53-main img.r53-counsel-image[src*="george.jpg"],
html body.gl-r53 .r53-site[data-site-production-root] #r53-main img.r54-firm-person-image[src*="george.jpg"],
html body.gl-r53 .r53-site[data-site-production-root] #r53-main img.r53-counsel-image[src*="george.jpg"],
html body.gl-r53 .r53-site[data-site-production-root] #r53-main img.r54-firm-person-image[src*="george.jpg"] {
  transform: scale(1.12) !important;
  transform-origin: 50% 28% !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main .r54-route-hero .r54-route-hero-title h1 {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

html body.gl-r53 .r53-site[data-site-production-root] #r53-main .r54-route-hero .r54-route-hero-title h1 .r72-semantic-unit {
  display: inline !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

@media (min-width: 1180px) {
  html body.gl-r53 .r53-site.r60-about[data-site-production-root] #r53-main .r54-content-firm-story .r54-firm-story-group.r54-firm-story-group-pathways .r54-firm-story-group-grid[data-r54-entry-count="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.gl-r53 .r53-site.r60-about[data-site-production-root] #r53-main .r54-content-firm-story .r54-firm-story-group.r54-firm-story-group-pathways .r54-firm-story-group-grid[data-r54-entry-count="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body.gl-r53 .r53-site.r60-about[data-site-production-root] #r53-main .r54-content-firm-story .r54-firm-story-group.r54-firm-story-group-pathways .r54-firm-story-group-grid[data-r54-entry-count="2"] > .r54-firm-story-entry,
  html body.gl-r53 .r53-site.r60-about[data-site-production-root] #r53-main .r54-content-firm-story .r54-firm-story-group.r54-firm-story-group-pathways .r54-firm-story-group-grid[data-r54-entry-count="3"] > .r54-firm-story-entry {
    grid-column: auto !important;
    grid-row: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.gl-r53 .r53-site.r60-about[data-site-production-root] #r53-main .r54-content-firm-story .r54-firm-story-group.r54-firm-story-group-pathways .r54-firm-story-group-grid[data-r54-entry-count="3"] > .r54-firm-story-entry .r54-narrative-chapter-body {
    width: 100% !important;
    max-width: none !important;
    columns: 1 !important;
    column-rule: 0 !important;
  }
}
