/* R71 — photographic edge integrity, editorial type rhythm, and route
   differentiation. The owner rejected R70 when removal of overlap still left
   portrait gutters, underscaled eyebrow labels, oversized display type, and
   repeated dark split-panels. This terminal layer owns those exact defects. */

: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;
}

html body.gl-r53 .r53-site[data-site-production-root].r60-home main :where(.r54-selected-person,.r54-selected-person-associate) {
  grid-template-rows: clamp(350px, 27vw, 410px) 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 {
  height: 100% !important;
  background: transparent !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: cover !important;
  object-position: center 31% !important;
  transform: scale(1.015) !important;
}

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

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: 350px auto !important;
  }

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