.home-footer {
  width: 100%;
  max-width: 1366px;
  min-height: calc(min(100vw, 1366px) * .562225);
  margin: 0 auto;
  padding: calc(min(100vw, 1366px) * .056613) 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  color: #444e58;
  background: #fff;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.home-footer * { box-sizing: border-box; }
.home-footer__copy { position: relative; min-height: calc(min(100vw, 1366px) * .449); padding: calc(min(100vw, 1366px) * .050757) 11.2% 0; }
.home-footer__enquire { display: block; width: calc(min(100vw, 1366px) * .218643); max-width: 299px; margin: 0 auto calc(min(100vw, 1366px) * .099561); padding: 13px 24px 12px; border-radius: 999px; color: #fff; background: #779fb9; font-size: clamp(24px,2.7vw,37px); line-height: 1; text-align: center; text-decoration: none; }
.home-footer h2 { margin: 0 0 17px; font-size: clamp(48px,5vw,68px); line-height: 1; font-weight: 500; text-transform: none; letter-spacing: normal; }
.home-footer__details { display: grid; grid-template-columns: 1fr 1.25fr; gap: 26px; font-weight: 500; }
.home-footer__details p { margin: 0 0 20px; font-size: clamp(16px,1.76vw,24px); line-height: 1.4; text-wrap: balance; }
.home-footer__details a { color: inherit; text-decoration: none; }
.home-footer__socials { display: flex; gap: 12px; margin-top: 8px; }
.home-footer__socials a { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid #444e58; border-radius: 50%; color: #444e58; font-size: 16px; line-height: 1; font-weight: 500; text-decoration: none; }
.home-footer__image { height: calc(min(100vw, 1366px) * .449); overflow: hidden; }
.home-footer__image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 51%; }

@media (max-width: 900px) {
  .home-footer { grid-template-columns: 1fr; padding: 46px 0 0; }
  .home-footer__copy { padding: 20px 8% 60px; }
  .home-footer__image { height: min(700px,110vw); }
}

@media (max-width: 560px) {
  .home-footer__enquire { width: auto; max-width: 260px; margin-bottom: 70px; }
  .home-footer__details { grid-template-columns: 1fr; gap: 0; }
}

.popup-overlay[hidden] { display: none; }
.popup-overlay { position: fixed; inset: 0; z-index: 1000; padding: 22px; display: grid; place-items: center; background: rgba(25,39,48,.58); backdrop-filter: blur(4px); }
.popup-card { width: min(100%,470px); max-height: min(720px,calc(100vh - 44px)); position: relative; overflow-y: auto; padding: 34px; border-radius: 18px; color: #444e58; background: #fff; box-shadow: 0 25px 70px rgba(15,31,41,.28); font-family: "Segoe UI","Helvetica Neue",Arial,sans-serif; }
.popup-close { position: absolute; top: 14px; right: 15px; width: 35px; height: 35px; padding: 0; border: 0; border-radius: 50%; color: #444e58; background: #eef3f5; font: 400 25px/1 "Segoe UI","Helvetica Neue",Arial,sans-serif; cursor: pointer; }
.popup-eyebrow { margin: 0 0 8px; color: #205f87; font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.popup-card h2 { margin: 0 42px 8px 0; font-size: 32px; line-height: 1.08; font-weight: 500; text-transform: none; letter-spacing: normal; }
.popup-intro { margin: 0 0 24px; color: #67727a; font-size: 15px; }
.popup-form { display: grid; gap: 14px; }
.popup-form label { display: grid; gap: 6px; font-size: 14px; font-weight: 500; }
.popup-form input, .popup-form textarea { width: 100%; padding: 11px 12px; border: 1px solid #cbd5da; border-radius: 8px; color: #34434d; background: #fff; font: inherit; outline: none; }
.popup-form input:focus, .popup-form textarea:focus { border-color: #779fb9; box-shadow: 0 0 0 3px rgba(119,159,185,.18); }
.popup-form textarea { min-height: 92px; resize: vertical; }
.popup-event-field[hidden], .popup-guests-field[hidden] { display: none; }
.popup-submit { margin-top: 5px; padding: 12px 22px; border: 0; border-radius: 99px; color: #fff; background: #779fb9; font: inherit; font-weight: 500; cursor: pointer; }
.popup-note { margin: 1px 0 0; color: #77838a; font-size: 12px; text-align: center; }
body.popup-open { overflow: hidden; }

@media (max-width: 560px) {
  .popup-overlay { padding: 14px; align-items: end; }
  .popup-card { max-height: calc(100vh - 28px); padding: 28px 22px 24px; border-radius: 18px 18px 12px 12px; }
  .popup-card h2 { font-size: 28px; }
}
