/* Private Enquiries: page-scoped layout and photography. */
body.enquiries-review { --enquiries-gutter: 11.1vw; background: #fff; color: #595959; }
body.enquiries-review > .contact-header,
body.enquiries-review > .contact-header.is-scrolled {
  background: #fff !important; color: #595959 !important;
  border: 0; box-shadow: none; backdrop-filter: none;
}
/* Share one responsive gutter between the header and page content. */
body.enquiries-review > .contact-header { padding-inline: var(--enquiries-gutter); }
body.enquiries-review > .contact-header::before {
  content: ""; position: absolute; inset: auto var(--enquiries-gutter) 0;
  height: 1px; background: #d8d8d8 !important; opacity: 1;
}
/* The inherited contact overlay otherwise slides a grey panel down on scroll. */
body.enquiries-review > .contact-header::after { content: none; display: none; }
body.enquiries-review > .contact-header .header-action,
body.enquiries-review > .contact-header .brand-mark { color: #595959 !important; }
body.enquiries-review .enquiries-main {
  background: #fff; color: #595959; padding: 210px var(--enquiries-gutter) 110px; min-height: 0;
}
.enquiries-review .enquiries-introduction { max-width: none; margin: 0 auto; text-align: center; }
body.enquiries-review .enquiries-introduction h1 {
  font-family: var(--font-display); font-weight: 400; font-style: normal;
  font-size: 18px; line-height: 27px; letter-spacing: .05em; text-transform: uppercase;
  color: #454545; margin: 0 0 50px;
}
body.enquiries-review .enquiries-introduction p {
  font-size: 16.5px; line-height: 1.6; font-weight: 400; font-style: normal;
  letter-spacing: 0; color: #595959; max-width: 660px; margin: 0 auto;
}
.enquiries-review .enquiries-details {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px 160px; margin: 88px 0 80px; padding: 0; border: 0; text-align: left;
}
.enquiries-review .enquiries-details > div { min-width: 0; }
.enquiries-review .enquiries-details > div:nth-child(even) { justify-self: stretch; width: auto; }
.enquiries-review .enquiries-details dt {
  font-family: var(--font-brand); font-size: 18px; font-weight: 400;
  line-height: 1.6; letter-spacing: .045em; color: #333; margin: 0 0 24px;
}
.enquiries-review .enquiries-details dd { font-family: var(--font-brand); font-size: 16px; line-height: 1.85; margin: 0; color: #454545; }
.enquiries-review .enquiries-details a {
  color: inherit; display: inline-block; min-height: 44px; max-width: 100%;
  padding: 5px 0; overflow-wrap: anywhere; text-decoration: underline;
  text-decoration-color: #b1b1b1; text-underline-offset: 5px; text-decoration-thickness: 1px;
}
.enquiries-review .enquiries-details .contact-address-link { text-decoration: none; }
.enquiries-review .enquiries-details .contact-address-link:hover,
.enquiries-review .enquiries-details .contact-address-link:focus-visible { text-decoration: underline !important; }
.enquiries-review .enquiries-details a:hover { text-decoration-color: #454545; }
.enquiries-review .enquiries-main a:focus-visible,
.enquiries-review > header a:focus-visible,
.enquiries-review > header button:focus-visible { outline: 2px solid #454545; outline-offset: 5px; }
.enquiries-review .enquiries-photographs {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 160px; max-width: none; margin: 70px auto 0;
}
.enquiries-review .enquiries-photographs figure { margin: 0; min-width: 0; aspect-ratio: 0.73976; overflow: hidden; }
.enquiries-review .enquiries-photographs img { display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); }
.enquiries-review .enquiries-photographs figure:first-child img { object-position: 50% 50%; filter: grayscale(1) brightness(1.08); }
.enquiries-review .enquiries-photographs figure:last-child img { object-position: 50% 50%; filter: grayscale(1) brightness(1.04); }
@media (max-width: 1024px) {
  body.enquiries-review { --enquiries-gutter: clamp(20px, 3.25vw, 60px); }
  .enquiries-review .enquiries-photographs, .enquiries-review .enquiries-details { column-gap: 90px; }
}
@media (max-width: 767px) {
  body.enquiries-review .enquiries-main { padding-top: 175px; padding-bottom: 80px; }
  .enquiries-review .enquiries-details { grid-template-columns: minmax(0,1fr); gap: 52px; margin: 64px 0; text-align: left; }
  .enquiries-review .enquiries-details > div:nth-child(even) { justify-self: stretch; width: auto; }
  .enquiries-review .enquiries-details dt { font-size: 17px; margin-bottom: 20px; }
  .enquiries-review .enquiries-details dd { font-size: 15px; }
  .enquiries-review .enquiries-photographs { grid-template-columns: minmax(0,1fr); gap: 100px; margin-top: 60px; }
}
@media (max-width: 360px) {
  body.enquiries-review { --enquiries-gutter: 16px; }
}

/* A clear invitation and one primary way to make contact. */
body.enquiries-review .enquiries-main { padding-top: 165px; }
body.enquiries-review .enquiries-introduction .enquiries-eyebrow { font-family: var(--font-brand); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 24px; }
body.enquiries-review .enquiries-introduction h1 { font-size: clamp(27px, 2.5vw, 36px); line-height: 1.3; letter-spacing: 0; text-transform: none; margin-bottom: 40px; }
.enquiries-review .enquiries-details { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 64px 48px; margin: 64px 0 76px; }
.enquiries-review .enquiries-details > div:first-child { grid-column: 1 / -1; text-align: center; padding-bottom: 16px; }
.enquiries-review .enquiries-details dt { font-size: 15px; letter-spacing: .025em; margin-bottom: 14px; }
.enquiries-review .enquiries-details > div:first-child dt { font-size: 14px; margin-bottom: 10px; }
.enquiries-review .enquiries-details > div:first-child dd { font-size: clamp(17px, 1.55vw, 22px); }
.enquiries-review .enquiries-details > div:first-child a { color: #333; text-decoration: underline !important; text-decoration-color: #9a9a9a; text-underline-offset: 7px; }
.enquiries-review .enquiries-details dd { font-size: 14px; }
body.enquiries-review .enquiries-introduction .enquiries-closing { font-size: 15px; }
.enquiries-review .enquiries-photographs { margin-top: 100px; }
@media (max-width: 1024px) { .enquiries-review .enquiries-details { column-gap: 28px; } }
@media (max-width: 767px) {
 body.enquiries-review .enquiries-main { padding-top: 145px; }
 .enquiries-review .enquiries-details { grid-template-columns: minmax(0,1fr); gap: 44px; text-align: center; margin: 48px 0 64px; }
 .enquiries-review .enquiries-details > div:first-child { padding-bottom: 12px; }
 .enquiries-review .enquiries-details dt { font-size: 16px; margin-bottom: 10px; }
 .enquiries-review .enquiries-details dd { font-size: 15px; }
 .enquiries-review .enquiries-details > div:first-child dd { font-size: 17px; }
 .enquiries-review .enquiries-photographs { margin-top: 80px; }
}
@media (max-width: 360px) {
 .enquiries-review .enquiries-details > div:first-child dd { font-size: 16px; }
}
/* Centre each secondary contact item above the photograph band. */
.enquiries-review .enquiries-details > div:not(:first-child) { text-align: center; }


/* Use the same reveal distance, timing and easing as the other editorial pages.
   These page-scoped styles are loaded on every route before navigation begins. */
@media (prefers-reduced-motion: no-preference) {
  .enquiries-review.contact-motion .enquiries-reveal {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
    transition: transform 2200ms 500ms cubic-bezier(.19, 1, .22, 1),
                opacity 2200ms 500ms cubic-bezier(.19, 1, .22, 1);
  }
  .enquiries-review.contact-motion .enquiries-reveal.is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  .enquiries-review.motion-preparing .enquiries-reveal { transition: none; }
}
@media (prefers-reduced-motion: reduce) {
  .enquiries-review.contact-motion .enquiries-reveal {
    opacity: 1; transform: none; transition: none;
  }
}

/* Responsive alignment refinement, 23 October 2026.
   The existing header divider is the geometry source of truth. */

/* Areas of Expertise: keep the complete two-column grid and its lower rule on
   the same rails as the header at every breakpoint. */
.services-overview-page .expertise-grid-container {
  padding-inline: var(--content-gutter);
}

.services-overview-page .expertise-project-grid {
  box-sizing: border-box;
  width: auto;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}

.services-overview-page .expertise-enquiry {
  box-sizing: border-box;
  width: auto;
  max-width: none;
  margin-inline: var(--content-gutter);
  border-top-color: #575756;
}

/* Acquisition pages: preserve the wide photograph and two-column gallery
   treatments while matching their combined outer edges to the header rule. */
.service-detail-page .service-wide-image {
  width: auto;
  max-width: none;
  margin-inline: var(--content-gutter);
}

.service-detail-page .service-image-pair {
  padding-inline: var(--content-gutter);
}

/* The Firm: spacing only. The alternating layout, media, copy and crops are
   unchanged. */
.gallery-about-page .gallery-about {
  padding-top: 172px;
}

.gallery-about-page .gallery-about-rows {
  gap: clamp(4rem, 5.55vw, 5rem);
}

.gallery-about-page .firm-enquiry {
  box-sizing: border-box;
  width: auto;
  max-width: none;
  margin: clamp(6rem, 8vw, 8rem) var(--content-gutter) 0;
  padding: clamp(4.5rem, 7vw, 7rem) 1rem;
  border-top: 1px solid #575756;
}

@media (max-width: 64rem) {
  .gallery-about-page .gallery-about {
    padding-top: 148px;
  }

  .gallery-about-page .gallery-about-rows {
    gap: 3.5rem;
  }
}

@media (max-width: 46.8125rem) {
  .gallery-about-page .gallery-about {
    padding-top: 132px;
  }

  .gallery-about-page .gallery-about-rows {
    gap: 3rem;
  }

  .gallery-about-page .gallery-about-copy,
  .gallery-about-page .gallery-about-row:nth-child(even) .gallery-about-copy {
    padding-top: clamp(3.5rem, 15vw, 4.5rem);
    padding-bottom: clamp(3.5rem, 15vw, 4.5rem);
  }

  .gallery-about-page .firm-enquiry {
    margin-top: 4.5rem;
  }
}

/* Private Enquiries: establish the email as the primary contact group, with a
   measured break before the three secondary methods. */
.enquiries-review .enquiries-details {
  margin-top: 160px;
  row-gap: 80px;
}

.enquiries-review .enquiries-details > div:first-child {
  margin-bottom: 72px;
  padding-bottom: 0;
}

@media (max-width: 47.9375rem) {
  .enquiries-review .enquiries-details {
    margin-top: 128px;
    row-gap: 40px;
  }

  .enquiries-review .enquiries-details > div:first-child {
    margin-bottom: 80px;
    padding-bottom: 0;
  }
}
