.fe-contact-links{display:flex;flex-wrap:wrap;gap:24px 42px;margin-top:28px;padding-top:24px;border-top:1px solid #c69b6840}.fe-contact-links a{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;min-width:0;font:400 11px/1.7 'Manrope',Arial,sans-serif;letter-spacing:.02em}.fe-contact-links svg{width:24px;height:24px;flex:none;color:#c69b68}.fe-contact-links strong{font-size:14px;font-weight:500;color:#f4efe7;overflow-wrap:anywhere}.fe-contact-links a:hover strong{color:#e0bc87;text-decoration:underline;text-underline-offset:4px}body footer .fe-contact-links,body .page-footer .fe-contact-links{color:#e9e3d9}.fe-whatsapp-float{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:250;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border-radius:40px;background:#25D366;color:#fff!important;border:1px solid rgba(255,255,255,.35);box-shadow:0 6px 20px rgba(37,211,102,.4),0 4px 12px rgba(0,0,0,.3);text-decoration:none;font:600 13px/1.3 'Manrope',Arial,sans-serif;letter-spacing:.02em;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.fe-whatsapp-float svg{width:24px;height:24px;flex:none;fill:currentColor}.fe-whatsapp-float:hover{background:#20ba5a;transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px rgba(37,211,102,.5),0 6px 16px rgba(0,0,0,.35)}.fe-whatsapp-float:focus-visible,.fe-contact-links a:focus-visible{outline:2px solid #c69b68;outline-offset:5px}body footer,body .page-footer{padding-bottom:90px}.fe-enquiry-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.fe-enquiry-actions a{text-decoration:none}@media(max-width:520px){.fe-whatsapp-float{width:54px;height:54px;padding:0;border-radius:50%;right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.fe-whatsapp-float>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.fe-contact-links{gap:20px;flex-direction:column}.fe-enquiry-actions{flex-direction:column}.fe-enquiry-actions a{justify-content:space-between}}@media(prefers-reduced-motion:reduce){.fe-whatsapp-float{transition:none}}
/* Contact page and dark footer readability fixes. */
.contact-layout{width:min(1280px,calc(100% - 96px));grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}
.contact-layout>*{min-width:0}
.contact-story>.fe-contact-links{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:24px 0 0;padding:0;border:0}
.contact-story>.fe-contact-links a{width:100%;padding:15px 16px;background:#fffdf9;border:1px solid #ded7cc;color:#5f554a}
.contact-story>.fe-contact-links strong{color:#29251f;font-weight:500}
.contact-story>.fe-contact-links a:hover{border-color:#baa182;background:#f4eee4}
.contact-story>.fe-contact-links a:hover strong{color:#6d5135}
.contact-form-panel{width:100%;overflow:hidden}
.contact-fields>*{min-width:0}
.contact-fields input,.contact-fields select,.contact-fields textarea{max-width:100%}
#enquiry-summary{max-width:100%;overflow:auto;white-space:pre-wrap;word-break:break-word}

body>.page-footer{background:#070605;color:#f4efe7}
body>.page-footer .page-footer-top p{color:#f4efe7}
body>.page-footer .page-footer-top em{color:#e0bc87}
body>.page-footer nav,body>.page-footer nav a{color:#d7cfc4}
body>.page-footer nav a:hover{color:#e0bc87}
body>.page-footer .page-footer-socials{border-top:1px solid #c69b683b;margin-top:24px;padding-top:24px}
body>.page-footer .social-link{color:#d7cfc4}
body>.page-footer .social-link:hover,body>.page-footer .social-link.location-link{color:#e0bc87}
body>.page-footer .page-footer-bottom,body>.page-footer .page-footer-bottom a{color:#b9ab9b}
body>.page-footer>.fe-contact-links{color:#e9e3d9;border-top-color:#c69b683b}
body>.page-footer>.fe-contact-links strong{color:#f4efe7;font-weight:500}
body>.page-footer>.fe-contact-links a:hover strong{color:#e0bc87}

@media(max-width:1100px){.contact-layout{width:calc(100% - 64px);grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:32px}.contact-form-panel{padding:28px}}
@media(max-width:800px){.contact-layout{width:calc(100% - 64px);grid-template-columns:minmax(0,1fr)}.contact-story>.fe-contact-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.contact-layout{width:calc(100% - 40px)}.contact-story>.fe-contact-links{grid-template-columns:minmax(0,1fr)}.contact-form-panel{padding:22px 18px}.page-footer nav{gap:14px 22px}.page-footer-socials{align-items:flex-start;flex-direction:column}.page-footer-bottom{gap:10px}}

/* Complete Contact page layout restoration. */
.contact-layout{display:grid!important;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)!important;gap:70px!important;align-items:start!important}
.contact-story{min-width:0}
.contact-story figure{margin:0;overflow:hidden}
.contact-story figure img{display:block;width:100%;height:auto;aspect-ratio:1.22;object-fit:cover}
.contact-story figcaption{padding-top:12px;color:#6b645c;font:400 9px/1.5 'Manrope',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.contact-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0;padding:24px 0;border-block:1px solid #ded7cc}
.contact-facts p{margin:0;font-size:14px;line-height:1.6}
.contact-facts span{display:block;margin-bottom:8px;color:#96714b;font-size:10px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase}
.contact-story h2{margin:0 0 22px}
.contact-story>p{margin:0;color:#6b645c}

.contact-form-panel{width:100%;min-width:0;padding:40px;background:#fffdf9;border:1px solid #ded7cc;overflow:hidden}
.contact-form-panel>.eyebrow{margin-bottom:18px}
.contact-form-panel h2{font-size:clamp(36px,4vw,48px)!important;margin:0 0 22px!important}
.contact-notice{margin:0;padding-bottom:22px;border-bottom:1px solid #ded7cc;color:#6b645c;font-size:12px;line-height:1.7}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:25px}
.contact-fields label{display:block;min-width:0;color:#29251f;font-size:12px;line-height:1.5}
.optional{color:#7c746b;font-size:10px}
.contact-fields input,.contact-fields select,.contact-fields textarea{display:block;width:100%;max-width:100%;min-width:0;margin-top:8px;padding:12px;border:1px solid #d8cfc2;border-radius:0;background:#faf8f4;color:#29251f;font:400 16px/1.5 'Manrope',Arial,sans-serif}
.contact-fields input:focus,.contact-fields select:focus,.contact-fields textarea:focus{outline:2px solid #96714b;outline-offset:2px}
.contact-fields textarea{min-height:140px;resize:vertical}
.full-field{grid-column:1/-1}
.form-help{margin:20px 0;color:#6b645c;font-size:11px;line-height:1.7}
.contact-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:46px;padding:14px 22px;border:1px solid #806041;background:#806041;color:#fffdf9!important;cursor:pointer;font:500 12px/1.4 'Manrope',Arial,sans-serif;text-decoration:none}
.contact-submit:hover{background:#654a30}
#enquiry-result{margin-top:30px;padding-top:24px;border-top:1px solid #ded7cc}
#enquiry-result h3{margin:0 0 16px}
#enquiry-summary{max-width:100%;padding:18px;background:#f1ede5;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:400 13px/1.8 'Manrope',Arial,sans-serif}
#copy-status{font-size:12px;color:#6b645c}

.contact-questions{border-top:1px solid #ded7cc}
.contact-questions h2{margin-bottom:30px}
.contact-questions details{padding:20px 0;border-bottom:1px solid #ded7cc}
.contact-questions summary{cursor:pointer;color:#29251f;font-size:16px;line-height:1.5}
.contact-questions details p{margin:14px 0 0;color:#6b645c;font-size:14px}
.contact-questions a{text-decoration:underline;text-underline-offset:3px}

@media(max-width:1100px){.contact-layout{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;gap:35px!important}.contact-form-panel{padding:28px}}
@media(max-width:800px){.contact-layout{grid-template-columns:minmax(0,1fr)!important}.contact-story figure img{aspect-ratio:1.8}.contact-story>.fe-contact-links{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-story h2{margin-top:20px}}
@media(max-width:520px){.contact-fields{grid-template-columns:minmax(0,1fr)}.contact-form-panel{padding:22px 18px}.contact-story figure img{aspect-ratio:1.3}.contact-facts{gap:15px}.contact-story>.fe-contact-links{grid-template-columns:minmax(0,1fr)}}

/* ==============================================================================
   FUN EVENT — LUXURY SERVICE BOOKING & ENQUIRY POPUP (UNIVERSAL)
   ============================================================================== */
.fe-service-modal-backdrop{
  position:fixed;inset:0;z-index:99999;
  background:rgba(10,8,6,0.85);
  backdrop-filter:blur(8px);
  display:grid;place-items:center;
  padding:20px;
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;
}
.fe-service-modal-backdrop.is-open{
  opacity:1;pointer-events:auto;
}
.fe-service-modal{
  position:relative;width:min(640px,100%);max-height:92vh;overflow-y:auto;
  background:#171310;border:1px solid #c69b6855;
  box-shadow:0 25px 80px rgba(0,0,0,0.7), 0 0 0 1px rgba(198,155,104,0.2);
  padding: clamp(28px, 4vw, 44px);
  color:#f4efe7;
  transform:scale(0.95) translateY(12px);
  transition:transform .3s cubic-bezier(0.16, 1, 0.3, 1);
}
.fe-service-modal-backdrop.is-open .fe-service-modal{
  transform:scale(1) translateY(0);
}
.fe-modal-close{
  position:absolute;top:18px;right:18px;
  width:36px;height:36px;border-radius:50%;
  border:1px solid rgba(224,188,135,0.3);
  background:#211b15;color:#e0bc87;
  display:grid;place-items:center;
  font-size:18px;line-height:1;cursor:pointer;
  transition:background .2s, border-color .2s;
}
.fe-modal-close:hover{
  background:#c69b68;color:#100e0c;border-color:#c69b68;
}
.fe-modal-service-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;border:1px solid rgba(198,155,104,0.45);
  background:rgba(198,155,104,0.12);color:#e0bc87;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  margin-bottom:14px;border-radius:2px;
}
.fe-modal-head h2{
  font:400 clamp(32px, 4vw, 46px)/1.05 'Cormorant Garamond', Georgia, serif;
  margin:0 0 8px;color:#f4efe7;letter-spacing:-.02em;
}
.fe-modal-head h2 em{
  color:#e0bc87;font-style:italic;
}
.fe-modal-head p{
  margin:0 0 24px;color:#b9ab9b;font-size:13px;line-height:1.6;
}
.fe-modal-fields{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.fe-modal-fields label{
  display:grid;gap:6px;font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;color:#cba878;font-weight:500;
}
.fe-modal-fields label.full-width{
  grid-column:1/-1;
}
.fe-modal-fields input,
.fe-modal-fields select,
.fe-modal-fields textarea{
  width:100%;background:#100e0c;border:1px solid rgba(198,155,104,0.35);
  padding:12px 14px;color:#f4efe7;font:400 13px/1.4 'Manrope', Arial, sans-serif;
  border-radius:0;outline:none;transition:border-color .2s,box-shadow .2s;
}
.fe-modal-fields input:focus,
.fe-modal-fields select:focus,
.fe-modal-fields textarea:focus{
  border-color:#e0bc87;box-shadow:0 0 0 2px rgba(224,188,135,0.25);
}
.fe-modal-submit{
  grid-column:1/-1;margin-top:10px;
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  min-height:50px;padding:14px 28px;
  background:#c69b68;color:#100e0c;border:0;
  font:600 12px/1 'Manrope', Arial, sans-serif;
  letter-spacing:.14em;text-transform:uppercase;cursor:pointer;
  transition:background .25s,transform .2s;
}
.fe-modal-submit:hover{
  background:#e0bc87;transform:translateY(-1px);
}
.fe-modal-success{
  text-align:center;padding:20px 10px;
}
.fe-modal-success .success-icon{
  width:56px;height:56px;border-radius:50%;
  border:2px solid #22c55e;color:#22c55e;
  margin:0 auto 20px;display:grid;place-items:center;font-size:26px;
}
.fe-modal-success h3{
  font:400 38px/1 'Cormorant Garamond', Georgia, serif;color:#f4efe7;margin:0 0 10px;
}
.fe-modal-success p{
  color:#b9ab9b;font-size:14px;line-height:1.7;margin:0 0 26px;
}
.fe-modal-actions{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;
}
.fe-modal-btn-wa{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:#25D366;color:#ffffff;padding:13px 18px;font-weight:600;
  font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
}
.fe-modal-btn-email{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:#211b15;border:1px solid #c69b68;color:#e0bc87;padding:13px 18px;
  font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
}
@media(max-width:600px){
  .fe-modal-fields{grid-template-columns:1fr;}
  .fe-modal-actions{grid-template-columns:1fr;}
  .fe-service-modal{padding:24px 18px;}
}
