/* Shared, compact ivory-and-gold footer. */
.site-footer { display: block; width: 100%; margin: 0; padding: 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: var(--soft); color: var(--black); text-align: left; }
.footer-inner { width: min(100%, 1480px); margin-inline: auto; padding: clamp(2.25rem, 4vw, 3.5rem) var(--gutter) 1.25rem; }
.footer-top { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .75fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.footer-top > * { min-width: 0; }
.footer-brand { display: inline-flex; align-items: center; gap: .85rem; }
.footer-brand img { flex-shrink: 0; width: 44px; height: 44px; border-radius: 10px; }
.site-footer .footer-name { display: block; grid-column: auto; margin: 0; padding: 0; border: 0; font: 400 clamp(1.75rem, 2.5vw, 2.25rem)/1.15 var(--serif); letter-spacing: -.04em; }
.site-footer .footer-summary { max-width: 310px; margin: 1rem 0 0; color: var(--muted); font-size: .875rem; line-height: 1.75; }
.footer-heading { margin: .15rem 0 .85rem; color: var(--gold); font: 500 .6875rem/1.5 var(--sans); letter-spacing: .17em; text-transform: uppercase; }
.site-footer .footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem 1rem; }
.site-footer .footer-links a { padding-block: .3rem; font-size: .875rem; line-height: 1.6; }
.site-footer .footer-links a:hover { color: var(--gold); }
.site-footer .footer-enquiries { max-width: 300px; margin: 0; color: var(--muted); font-size: .875rem; line-height: 1.75; }
.footer-contact-link { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; margin-top: .6rem; color: var(--gold); font-size: .875rem; }
.footer-contact-link:hover { text-decoration: underline; text-underline-offset: .3rem; }
.footer-contact-link .icon-arrow { width: 16px; height: 16px; }
.site-footer .footer-socials { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }
.site-footer .footer-socials a { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid var(--line); border-radius: 50%; color: var(--gold); }
.site-footer .footer-socials a:hover { color: var(--white); background: var(--gold); }
.site-footer .footer-socials svg { width: 17px; height: 17px; fill: currentColor; }
.footer-socials svg rect, .footer-socials svg circle { fill: none; stroke: currentColor; stroke-width: 1.7; }
.footer-socials svg .social-icon-dot { fill: currentColor; stroke: none; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.site-footer .footer-bottom p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.6; }
@media (max-width: 900px) {
  .footer-top { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
  .footer-identity { grid-column: 1 / -1; }
  .site-footer .footer-summary { max-width: none; }
}
@media (max-width: 600px) {
  .site-footer { text-align: center; }
  .footer-top { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .footer-brand { justify-content: center; }
  .site-footer .footer-summary, .site-footer .footer-enquiries { max-width: 320px; margin-inline: auto; }
  .site-footer .footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem 1.1rem; }
  .site-footer .footer-socials { justify-content: center; }
  .footer-bottom { justify-content: center; gap: .35rem; }
  .site-footer .footer-bottom p { flex-basis: 100%; }
}
