/* Team photograph above a quiet, aligned contact register. Original image retained. */
.site-footer {
  --footer-photo-source: url("team-footer-1920.jpg");
  --footer-photo-height: clamp(180px, 16vw, 250px);
  --footer-photo-trim: clamp(18px, 2vw, 30px);
  position: relative;
  isolation: isolate;
  background: #461016;
  color: #fff5e8;
  padding: calc(var(--footer-photo-height) - var(--footer-photo-trim)) var(--gutter) 0;
}
.site-footer::before {
  content: "";
  position: absolute;
  z-index: -1;
  /* Translate and clip the same-size photograph: remove ceiling only, without zooming. */
  inset: calc(0px - var(--footer-photo-trim)) 0 auto;
  clip-path: inset(var(--footer-photo-trim) 0 0);
  height: calc(var(--footer-photo-height) + 36px);
  background-image: linear-gradient(180deg, rgba(70,16,22,.25) 0%, rgba(70,16,22,.28) 44%, rgba(70,16,22,.62) 75%, #461016 100%), var(--footer-photo-source);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center, 50% 30%;
  pointer-events: none;
}
@supports (background-image: image-set(url("team-footer-1920.webp") 1x)) {
  .site-footer { --footer-photo-source: image-set(url("team-footer-1920.webp") 1x, url("team-footer-2880.webp") 2x); }
  @media (max-width:800px) {
    .site-footer { --footer-photo-source: image-set(url("team-footer-960.webp") 1x, url("team-footer-1920.webp") 2x); }
  }
}
.site-footer .footer-top {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(0,.9fr) minmax(0,1fr);
  align-items: start;
  gap: 24px clamp(32px,5vw,88px);
  padding: 26px 0 28px;
}
.site-footer .footer-identity {
  grid-column: auto;
  grid-row: auto;
  display: flex;
  align-items: center;
  gap: 22px;
}
.site-footer .footer-monogram { width: 88px; height: auto; flex: 0 0 88px; margin: 0; }
.site-footer .footer-identity > p { margin: 0; max-width: none; font: 400 22px/1.3 var(--reading); }
.site-footer .footer-enquiry { display: none; }
.site-footer :is(.footer-email,.footer-address) {
  grid-column: auto;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.site-footer .eyebrow { margin: 0; opacity: 1; font: 400 10px/1.3 var(--ui); letter-spacing: .14em; color: #dfc8bf; }
.site-footer .footer-email > a { font: 400 26px/1.2 'EB Garamond',serif; padding: 0 0 3px; border: 0; text-decoration: underline; text-decoration-color: #ffffff55; text-underline-offset: 5px; }
.site-footer .footer-address address { margin: 0; max-width: 32ch; font: 400 20px/1.4 var(--reading); }
.site-footer .footer-bottom { margin: 0; padding: 17px 0; border-top: 1px solid #ffffff25; display: flex; align-items: center; gap: 24px; font: 12px/1.5 var(--ui); }
.site-footer .footer-bottom nav { display: flex; flex: 1; flex-wrap: wrap; gap: 8px 26px; }
.site-footer .footer-bottom a { padding-block: 6px; }
.site-footer .footer-bottom > a { flex-shrink: 0; }
.site-footer a:hover { color: #fff; opacity: 1; text-decoration-color: currentColor; }
html[dir=rtl] .site-footer .footer-identity > p { max-width: none; font-size: 25px; line-height: 1.5; }
html[dir=rtl] .site-footer .eyebrow { font: 16px/1.5 var(--reading); letter-spacing: 0; }
html[dir=rtl] .site-footer .footer-address address { font-size: 21px; line-height: 1.65; }
html[dir=rtl] .site-footer .footer-bottom { font-size: 18px; }
@media (min-width:801px) and (max-width:1100px) {
  .site-footer .footer-top { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px 36px; }
  .site-footer .footer-identity { grid-column: 1 / -1; }
}
@media (max-width:800px) {
  .site-footer { --footer-photo-height: clamp(150px, 38vw, 220px); }
  .site-footer::before { background-position: center, 50% 31%; }
  .site-footer .footer-top { grid-template-columns: minmax(0,1fr); gap: 22px; padding: 20px 0 26px; }
  .site-footer .footer-identity { gap: 20px; margin: 0 0 4px; }
  .site-footer .footer-monogram { width: 62px; flex-basis: 62px; }
  .site-footer .footer-identity > p { max-width: none; font-size: 20px; }
  .site-footer :is(.footer-email,.footer-address) { gap: 6px; }
  .site-footer .footer-email > a { font-size: 25px; }
  .site-footer .footer-address address { max-width: 32ch; font-size: 19px; line-height: 1.45; }
  .site-footer .footer-bottom { align-items: flex-start; flex-wrap: wrap; gap: 10px; padding: 15px 0; }
  .site-footer .footer-bottom nav { width: 100%; flex: 1 0 100%; gap: 3px 22px; font-size: 12px; }
  .site-footer .footer-bottom > a { margin-inline-start: auto; font-size: 11px; }
  html[dir=rtl] .site-footer .footer-identity > p { font-size: 24px; }
  html[dir=rtl] .site-footer .footer-address address { font-size: 21px; }
  html[dir=rtl] .site-footer .footer-bottom nav { font-size: 18px; gap: 2px 22px; }
  html[dir=rtl] .site-footer .footer-bottom > a { font-size: 17px; }
}
