/* A consistent spacing rhythm for the existing page designs.
   Prose and card structure stay intact; neither the globe nor its grid changes. */
:root { --section-space: 56px; --heading-space: 24px; --card-space: 24px; }
.engagement-title-row h2 { margin: 0; }
.engagement-head p { margin-top: 16px; }
.engagement-title-row { align-items: center; }
.related-heading { margin-bottom: 24px; }
.offer-head .kicker, .engagement-head .kicker, .lead .kicker { margin-bottom: 16px; }
.offer-head::after, .engagement-head::after { margin-top: 24px; }
.hire .hire-intro, .roles .lead { margin-bottom: 36px; }
.hire .hire-intro p { margin-top: 20px; }
.hire .hire-intro { text-align: center; }
.hire .hire-intro .kicker, .hire .hire-intro h2 { text-align: center; }
.page-head:has(+ .hire) > .wrap::before { display: none; }
.roles .role > h3 { margin-bottom: 22px; }
.roles .role > p { margin-bottom: 18px; }
.roles .role > ul { margin-bottom: 24px; }
.policy-section p + p, .partner-prose > p + p { margin-top: 20px; }
.insights-record h2 { margin-bottom: 18px; }
.insights-record > p { margin-top: 0; }

/* Continuous frames on navigation cards; photographs stay unframed. */
.home-welcome .hero-eyeline::before { content: none; display: none; }
.home-welcome .hero-eyeline { gap: 0; }
.svc-hero ~ .imgband::before { content: none; display: none; }
.service-related .nextp-in::after { content: none; display: none; }
.service-related .nextp-in { border-width: 2px; }
.service-related .nextp-in:hover, .service-related .nextp-in:focus-visible {
  border-color: var(--gold); box-shadow: none;
}
.engagement-faq:hover, .engagement-faq:focus-visible {
  border-color: var(--gold); box-shadow: inset 0 0 0 1px var(--gold);
}

@media (min-width: 821px) {
  .home-welcome .hero-in { max-width: var(--content-width); }
  .page-head:not(:has(> .collage)):not(.policy-head) { padding-block: 140px 48px; }
  .page-head.faq-intro { padding-bottom: 32px; }
  .page-head:has(+ .letter) { padding-bottom: 32px; }
  .svc-hero { padding-block: 140px 48px; }
  .svc-hero-body { margin-top: 24px; padding-top: 24px; }
  .svc-hero h1 { margin-bottom: 24px; }
  .offer, .engagement-models, .who, .hire, .roles { padding-block: var(--section-space); }
  .offer-head, .engagement-head { margin-bottom: 24px; }
  .service-related { padding-block: var(--section-space); }
  .service-related .nextp-grid { gap: 16px; }
  .investor-intro .svc-hero-body { padding-top: 0; }
  .home-welcome .model { padding-block: 48px 52px; }
  .home-welcome .model-in { padding-top: 22px; }
  .home-welcome .practice { padding-block: 52px 40px; }
  .home-welcome .firm-work-copy { margin-top: 20px; }
  .home-welcome .service-invitations { margin-top: 28px; }
  .page-head:has(> .collage) { padding-bottom: 48px; }
  .page-head:has(> .collage) > .wrap { padding-top: 44px; }
  .selected { padding-block: 56px; }
  .selected .lead { margin-bottom: 32px; }
  .eeo { padding-bottom: 56px; }
  .join, .media, .cta { padding-block: 56px; }
}
@media (max-width: 820px) {
  :root { --section-space: 40px; --heading-space: 20px; --card-space: 20px; }
  .page-head:not(:has(> .collage)):not(.policy-head) { padding-block: 124px 36px; }
  .svc-hero { padding-block: 124px 36px; }
  .offer, .engagement-models, .who, .hire, .roles { padding-block: 40px; }
  .hire .hire-intro, .roles .lead { margin-bottom: 28px; }
  .related-heading { margin-bottom: 20px; }
  .engagement-title-row { gap: 16px; align-items: center; }
  .selected { padding-block: 40px; }
  .page-head:has(> .collage) { padding-bottom: 36px; }
  .eeo { padding-bottom: 40px; }
}
