/* Contact invitation and site navigation share one continuous footer. */
.site-footer {
  display: block;
  padding: 0 7.2%;
  background: #1c1b19;
  color: #f5f3ef;
  font-size: 14px;
}
.site-footer > div { display: grid; width: 100%; }
.footer-invitation {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
  align-items: center;
  gap: 9%;
  padding: 76px 0 62px;
}
.footer-invitation .eyebrow {
  color: #c7ab90;
  font-size: 10px;
  letter-spacing: 2px;
  margin-bottom: 24px;
}
.footer-invitation h2 {
  font: 400 clamp(46px, 5.2vw, 76px)/1.06 Georgia, serif;
  letter-spacing: -2.3px;
  margin: 0 0 23px;
}
.footer-invitation h2 em { color: #c5a382; }
.footer-intro { max-width: 375px; color: #c4bfba; font-size: 14px; line-height: 1.8; margin: 0; }
.footer-cta {
  align-items: center;
  gap: 32px;
  padding: 17px 24px;
  margin-top: 27px;
  color: #1c1b19;
  background: #cfb295;
  font-weight: 550;
  min-height: 50px;
}
.footer-cta:hover { background: #e1c5a9; }
.footer-cta > span { font-size: 19px; line-height: 1; }
.footer-contact-details { border-left: 1px solid #ffffff24; padding: 10px 0 10px 36px; }
.footer-label { color: #aaa49d; font-size: 10px; letter-spacing: 1.6px; margin: 0 0 22px; }
.footer-email, .footer-phone { font-family: inherit; font-size: 15px; font-weight: 400; letter-spacing: normal; color: #ded8d1; text-decoration: none; }
.footer-email { display: inline-block; padding: 0 0 7px; border: 0; }
.footer-phone { display: block; width: fit-content; padding: 12px 0; margin-top: 5px; }
.footer-coverage { display: flex; align-items: center; gap: 9px; font-size: 12px; color: #b8b2ac; margin: 12px 0 28px; }
.footer-coverage > span { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: #c5a382; }
.footer-selling { display: inline-flex; gap: 13px; align-items: center; min-height: 44px; font-size: 12px; border-bottom: 1px solid #ffffff30; }
.footer-selling > span { color: #c5a382; }
.site-footer .footer-directory {
  grid-template-columns: 1fr 1.3fr;
  align-items: center;
  gap: 35px;
  border-top: 1px solid #ffffff24;
  padding: 32px 0 28px;
}
.site-footer .footer-wordmark { display: inline-block; }
.site-footer .footer-wordmark img { width: 165px; filter: brightness(0) invert(1); }
.footer-identity > p { color: #aaa49d; font-size: 11px; line-height: 1.7; margin: 8px 0 0; }
.footer-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0 25px; font-size: 12px; color: #e1dbd4; }
.footer-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.footer-nav a:after { display: none; }
.site-footer .footer-legal {
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 17px 0 20px;
  border-top: 1px solid #ffffff16;
  color: #b1aaa3;
  font-size: 11px;
}
.footer-legal-links { display: flex; gap: 27px; }
.footer-legal-links a { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; }
.site-footer a:not(.footer-cta):hover { color: #ddbb99; }
.site-footer a:focus-visible { outline-color: #ddbb99; }
@media (max-width: 900px) {
  .footer-invitation { gap: 5%; }
  .footer-contact-details { padding-left: 22px; }
  .footer-nav { gap: 0 18px; }
}
@media (max-width: 700px) {
  .site-footer { padding: 0 24px; }
  .footer-invitation { grid-template-columns: 1fr; gap: 32px; padding: 48px 0 32px; }
  .footer-invitation .eyebrow { font-size: 9px; letter-spacing: 1.6px; margin-bottom: 18px; }
  .footer-invitation h2 { font-size: clamp(38px, 10.7vw, 49px); letter-spacing: -1.5px; margin-bottom: 18px; }
  .footer-intro { font-size: 13px; max-width: 330px; line-height: 1.7; }
  .footer-cta { display: flex; justify-content: space-between; width: 100%; margin-top: 23px; padding: 16px 21px; }
  .footer-contact-details { border-left: 0; border-top: 1px solid #ffffff24; padding: 24px 0 0; }
  .footer-label { font-size: 9px; margin-bottom: 13px; }
  .footer-email, .footer-phone { font-size: 14px; }
  .footer-phone { margin-top: 2px; }
  .footer-coverage { margin: 9px 0 12px; }
  .site-footer .footer-directory { grid-template-columns: 1fr; gap: 17px; padding: 28px 0 22px; }
  .site-footer .footer-wordmark img { width: 150px; }
  .footer-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; justify-content: start; font-size: 12px; }
  .footer-nav a { min-height: 44px; }
  .site-footer .footer-legal { grid-template-columns: 1fr; gap: 0; padding: 8px 0 21px; }
  .footer-legal > span { order: 2; font-size: 10px; margin-top: 5px; }
  .footer-legal-links { flex-wrap: wrap; gap: 0 22px; font-size: 11px; }
}
