/* Contact page only — glass, gold and responsive layout. */
body.contact-luxury-v2{min-height:100svh;background:#20384b url('assets/booking/booking-bg-desktop.jpg') center/cover fixed no-repeat!important;background-blend-mode:multiply!important;color:#f7f0e4}
body.contact-luxury-v2::before{content:"";position:fixed;z-index:0;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(1,10,18,.93),rgba(2,15,26,.945) 48%,rgba(1,9,16,.97)),radial-gradient(circle at 50% 22%,rgba(20,49,70,.1),rgba(1,8,14,.78) 74%);backdrop-filter:saturate(.52) brightness(.64);-webkit-backdrop-filter:saturate(.52) brightness(.64)}
body.contact-luxury-v2 .contact-standalone-main{position:relative;z-index:1;padding:42px 0 34px!important;background:transparent!important;min-height:calc(100svh - 118px)}
body.contact-luxury-v2 #contact{display:block!important;width:min(1260px,calc(100% - 42px))!important;max-width:none!important;margin:0 auto!important;padding:0!important;background:transparent!important}
body.contact-luxury-v2 .contact-section-head{max-width:820px!important;margin:0 auto 34px!important;padding:0 18px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;text-align:center;overflow:visible!important}
body.contact-luxury-v2 .contact-section-head .section-kicker{display:block!important;width:auto!important;min-width:0!important;margin:0 0 8px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#e9bd5c!important;font-size:15px!important;font-weight:900!important;line-height:1.5!important}
body.contact-luxury-v2 .contact-section-head h1{margin:0 0 10px!important;color:#efca78!important;font-size:clamp(42px,5vw,68px)!important;line-height:1.2!important;text-shadow:0 14px 40px rgba(0,0,0,.4)}
body.contact-luxury-v2 .contact-intro{display:block!important;width:100%!important;max-width:660px!important;margin:0 auto!important;color:#d7dfe3!important;font-size:15px!important;line-height:1.9!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important}
body.contact-luxury-v2 .contact-grid{display:grid!important;grid-template-columns:minmax(0,.98fr) minmax(0,1.08fr)!important;grid-template-areas:"cards map";gap:18px!important;width:100%!important;max-width:none!important;margin:0!important;align-items:stretch}
body.contact-luxury-v2 .contact-card-lux,body.contact-luxury-v2 .contact-map-card{position:relative!important;border:1px solid rgba(231,190,97,.42)!important;border-radius:24px!important;background:linear-gradient(145deg,rgba(8,28,43,.72),rgba(2,15,25,.61))!important;box-shadow:0 30px 82px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.075)!important;backdrop-filter:blur(19px) saturate(1.08)!important;-webkit-backdrop-filter:blur(19px) saturate(1.08)!important;overflow:hidden}
body.contact-luxury-v2 .contact-card-lux{grid-area:cards;display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-areas:"email phone" "hours address" "facebook instagram" "whatsapp whatsapp";gap:12px!important;padding:16px!important}
body.contact-luxury-v2 .contact-phone{grid-area:phone}body.contact-luxury-v2 .contact-email{grid-area:email}body.contact-luxury-v2 .contact-address{grid-area:address}body.contact-luxury-v2 .contact-hours{grid-area:hours}body.contact-luxury-v2 .contact-instagram{grid-area:instagram}body.contact-luxury-v2 .contact-facebook{grid-area:facebook}body.contact-luxury-v2 .contact-whatsapp{grid-area:whatsapp}
body.contact-luxury-v2 .contact-row{display:flex!important;flex-direction:row!important;align-items:center!important;gap:14px!important;min-width:0;min-height:122px;margin:0!important;padding:14px 15px!important;border:1px solid rgba(231,190,97,.28)!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015))!important;color:#f5efe2!important;text-decoration:none!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;transition:transform .2s,border-color .2s,background .2s!important}
body.contact-luxury-v2 a.contact-row:hover{transform:translateY(-3px)!important;border-color:rgba(231,190,97,.65)!important;background:rgba(231,190,97,.08)!important}
body.contact-luxury-v2 .contact-icon-shell{width:64px;height:64px;flex:0 0 64px;display:grid;place-items:center;border:1px solid rgba(231,190,97,.68);border-radius:50%;background:radial-gradient(circle,rgba(231,190,97,.12),rgba(3,17,29,.38));box-shadow:0 8px 28px rgba(0,0,0,.24),inset 0 0 18px rgba(231,190,97,.05)}
body.contact-luxury-v2 .contact-icon-img{display:block!important;width:44px!important;height:44px!important;max-width:none!important;object-fit:contain!important;filter:drop-shadow(0 5px 9px rgba(0,0,0,.22))!important}
body.contact-luxury-v2 .contact-row>div{display:grid!important;align-content:center!important;gap:2px!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important}
body.contact-luxury-v2 .contact-label{display:block!important;color:#efc86f!important;font-size:14px!important;font-weight:900!important}
body.contact-luxury-v2 .contact-row strong{display:block!important;color:#f7ead0!important;font-size:14px!important;line-height:1.65!important;overflow-wrap:anywhere}
body.contact-luxury-v2 .contact-row small{display:block!important;color:#aebcc4!important;font-size:11px!important;line-height:1.65!important}
body.contact-luxury-v2 .contact-whatsapp{min-height:106px!important;justify-content:center!important}
body.contact-luxury-v2 .contact-whatsapp .contact-icon-shell{width:58px;height:58px;flex-basis:58px}body.contact-luxury-v2 .contact-whatsapp .contact-icon-img{width:41px!important;height:41px!important}
body.contact-luxury-v2 .contact-map-card{grid-area:map;padding:18px!important;display:flex!important;flex-direction:column!important}
body.contact-luxury-v2 .contact-map-head{position:relative;margin:0 0 14px!important;padding:2px 72px 0 0!important;min-height:58px}
body.contact-luxury-v2 .contact-map-head h3{margin:0 0 3px!important;color:#efc86f!important;font-size:23px!important}.contact-luxury-v2 .contact-map-head p{margin:0!important;color:#afbec7!important;font-size:11px!important;line-height:1.7!important}
body.contact-luxury-v2 .map-pin-mini{position:absolute;right:0;top:0;width:56px;height:56px;display:grid;place-items:center;border:1px solid rgba(231,190,97,.48);border-radius:50%;background:rgba(231,190,97,.06)}
body.contact-luxury-v2 .map-pin-mini img{width:38px;height:38px;object-fit:contain}
body.contact-luxury-v2 .contact-map-wrap{position:relative!important;display:block!important;min-height:0!important;height:100%!important;margin:0!important;border:1px solid rgba(231,190,97,.5)!important;border-radius:18px!important;overflow:hidden!important;background:linear-gradient(145deg,#071b2b,#030d16)!important;isolation:isolate;animation:mapCardArrival .85s cubic-bezier(.2,.75,.25,1) both}
body.contact-luxury-v2 .contact-map-wrap iframe{position:relative;z-index:2;display:block!important;width:100%!important;height:calc(100% + 112px)!important;min-height:542px!important;margin:-112px 0 0!important;border:0!important;border-radius:0!important;filter:grayscale(.28) invert(.92) hue-rotate(174deg) brightness(.76) contrast(1.08);opacity:0;transform:scale(1.025);transition:opacity .8s ease,transform 1.15s cubic-bezier(.2,.75,.25,1)}
body.contact-luxury-v2 .contact-map-wrap.is-loaded iframe{opacity:.79;filter:grayscale(.36) invert(.92) hue-rotate(174deg) brightness(.82) contrast(1.06) blur(.38px);transform:scale(1.015)}
body.contact-luxury-v2 .contact-map-wrap::after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 39%,transparent 0 18%,rgba(2,13,22,.08) 44%,rgba(2,11,19,.27) 100%),linear-gradient(180deg,rgba(2,13,22,.08),transparent 55%,rgba(2,13,22,.18))}
body.contact-luxury-v2 .map-resort-focus{position:absolute;z-index:6;left:50%;top:39%;display:grid;grid-template-columns:42px auto;grid-template-areas:"icon title" "icon sub";align-items:center;column-gap:9px;min-width:178px;padding:8px 13px;border:1px solid rgba(238,193,91,.68);border-radius:14px;background:rgba(3,17,28,.88);box-shadow:0 12px 34px rgba(0,0,0,.46),0 0 28px rgba(228,178,69,.16);color:#f0c96d;opacity:0;transform:translate(-50%,-46%);pointer-events:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:opacity .55s ease,transform .75s cubic-bezier(.2,.75,.25,1)}
body.contact-luxury-v2 .contact-map-wrap.is-loaded .map-resort-focus{opacity:1;transform:translate(-50%,-50%)}
body.contact-luxury-v2 .map-resort-focus img{grid-area:icon;width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(239,191,78,.35))}
body.contact-luxury-v2 .map-resort-focus b{grid-area:title;font:900 12px Cairo;white-space:nowrap}.contact-luxury-v2 .map-resort-focus small{grid-area:sub;color:#b9c4c9;font:600 9px Cairo}
body.contact-luxury-v2 .map-loading-state{position:absolute;z-index:3;inset:0;display:grid;place-content:center;justify-items:center;gap:6px;padding:20px;text-align:center;color:#eac267;background:radial-gradient(circle at 50% 45%,rgba(36,70,91,.34),transparent 43%),linear-gradient(145deg,#071b2b,#030d16);transition:opacity .55s ease,visibility .55s ease}
body.contact-luxury-v2 .contact-map-wrap.is-loaded .map-loading-state{opacity:0;visibility:hidden;pointer-events:none}
body.contact-luxury-v2 .map-loading-state b{font:800 14px Cairo}body.contact-luxury-v2 .map-loading-state small{font:500 10px Cairo;color:#aebdc5}
body.contact-luxury-v2 .map-loading-pin{position:relative;width:72px;height:72px;display:grid;place-items:center;margin-bottom:4px;border:1px solid rgba(231,190,97,.48);border-radius:50%;background:rgba(231,190,97,.06);animation:mapPinFloat 2.4s ease-in-out infinite}
body.contact-luxury-v2 .map-loading-pin::before,body.contact-luxury-v2 .map-loading-pin::after{content:"";position:absolute;inset:-1px;border:1px solid rgba(231,190,97,.45);border-radius:50%;animation:mapLoadingRing 2.2s ease-out infinite}body.contact-luxury-v2 .map-loading-pin::after{animation-delay:1.1s}
body.contact-luxury-v2 .map-loading-pin img{width:47px;height:47px;object-fit:contain}
body.contact-luxury-v2 .map-focus-pulse{position:absolute;z-index:4;left:50%;top:50%;width:22px;height:22px;border:2px solid rgba(242,196,94,.9);border-radius:50%;background:rgba(242,196,94,.18);box-shadow:0 0 0 0 rgba(242,196,94,.38);opacity:0;transform:translate(-50%,-50%);pointer-events:none}
body.contact-luxury-v2 .contact-map-wrap.is-loaded .map-focus-pulse{animation:mapFocusPulse 2.2s ease-out 1.05s 2}
@keyframes mapCardArrival{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@keyframes mapPinFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes mapLoadingRing{0%{opacity:.6;transform:scale(.85)}100%{opacity:0;transform:scale(1.65)}}
@keyframes mapFocusPulse{0%{opacity:0;box-shadow:0 0 0 0 rgba(242,196,94,.46)}18%{opacity:1}100%{opacity:0;box-shadow:0 0 0 34px rgba(242,196,94,0)}}
body.contact-luxury-v2 .contact-map-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-top:13px!important}
body.contact-luxury-v2 .contact-map-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:9px 18px!important;border:1px solid rgba(231,190,97,.48)!important;border-radius:12px!important;background:linear-gradient(135deg,#d6a63f,#f0ce76)!important;color:#07131e!important;font:900 12px Cairo!important;text-decoration:none!important;white-space:nowrap!important}
body.contact-luxury-v2 .contact-map-note{color:#aebcc4!important;font-size:10px!important;line-height:1.6!important}
body.contact-luxury-v2 .contact-closing{display:flex;align-items:center;justify-content:center;gap:13px;margin:42px auto 12px;color:#dcb65e;text-align:center;font-size:12px}.contact-luxury-v2 .contact-closing span{width:76px;height:1px;background:linear-gradient(90deg,transparent,#d4a946)}
body.contact-luxury-v2 .contact-closing span:last-child{transform:scaleX(-1)}

@media(max-width:980px){
  body.contact-luxury-v2 .contact-grid{grid-template-columns:1fr!important;grid-template-areas:"cards" "map"!important;max-width:760px!important;margin-inline:auto!important}
  body.contact-luxury-v2 .contact-map-wrap iframe{min-height:400px!important}
}

@media(max-width:720px){
  body.contact-luxury-v2{background-image:url('assets/booking/booking-bg-mobile.jpg')!important;background-position:center top!important;background-attachment:fixed!important}
  body.contact-luxury-v2::before{background:linear-gradient(180deg,rgba(1,10,18,.91),rgba(2,14,24,.94) 38%,rgba(2,12,21,.975)),linear-gradient(90deg,rgba(1,8,14,.48),transparent 45%,rgba(1,8,14,.48));backdrop-filter:saturate(.5) brightness(.62);-webkit-backdrop-filter:saturate(.5) brightness(.62)}
  body.contact-luxury-v2 .contact-standalone-main{padding:27px 0 24px!important}
  body.contact-luxury-v2 #contact{width:min(100% - 20px,640px)!important}
  body.contact-luxury-v2 .contact-section-head{width:100%!important;margin-bottom:24px!important;padding-inline:7px!important}.contact-luxury-v2 .contact-section-head .section-kicker{font-size:12px!important;margin-bottom:5px!important}.contact-luxury-v2 .contact-section-head h1{font-size:42px!important;margin-bottom:8px!important}.contact-luxury-v2 .contact-intro{width:100%!important;font-size:12px!important;line-height:1.9!important;max-width:370px!important;padding-inline:3px!important}
  body.contact-luxury-v2 .contact-grid{gap:13px!important}
  body.contact-luxury-v2 #contact .contact-card-lux{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;padding:9px!important;border-radius:22px!important}
  body.contact-luxury-v2 .contact-row{min-width:0!important;min-height:146px!important;flex-direction:column!important;justify-content:center!important;gap:7px!important;padding:11px 5px!important;border-radius:17px!important;text-align:center!important;overflow:hidden!important}
  body.contact-luxury-v2 .contact-icon-shell{width:54px;height:54px;flex:0 0 54px}.contact-luxury-v2 .contact-icon-img{width:37px!important;height:37px!important}
  body.contact-luxury-v2 .contact-row>div{width:100%!important;max-width:100%!important;justify-items:center!important;overflow:hidden!important}.contact-luxury-v2 .contact-label{font-size:12px!important}.contact-luxury-v2 .contact-row strong{width:100%!important;max-width:100%!important;font-size:10.5px!important;line-height:1.5!important;overflow-wrap:anywhere!important}.contact-luxury-v2 .contact-row strong bdi{display:block!important;direction:ltr!important;unicode-bidi:isolate!important;white-space:nowrap!important;font-size:10px!important}.contact-luxury-v2 .contact-row small{width:100%!important;max-width:100%!important;font-size:8.5px!important;line-height:1.5!important;overflow-wrap:anywhere!important}
  body.contact-luxury-v2 .contact-address strong,body.contact-luxury-v2 .contact-hours strong,body.contact-luxury-v2 .contact-facebook strong{font-size:10px!important}
  body.contact-luxury-v2 .contact-phone .phone-number,
  body.contact-luxury-v2 .contact-whatsapp .phone-number{display:inline-flex!important;width:auto!important;max-width:100%!important;align-items:center!important;justify-content:center!important;direction:ltr!important;unicode-bidi:isolate!important;white-space:nowrap!important;font-size:11px!important;line-height:1.5!important;letter-spacing:-.15px!important}
  body.contact-luxury-v2 .contact-phone>div{justify-items:center!important;text-align:center!important}
  body.contact-luxury-v2 .contact-whatsapp{min-height:132px!important;flex-direction:column!important;justify-content:center!important;text-align:center!important;gap:7px!important;padding-block:13px!important}
  body.contact-luxury-v2 .contact-whatsapp>div{justify-items:center!important;text-align:center!important}
  body.contact-luxury-v2 .contact-whatsapp strong{display:flex!important;width:100%!important;align-items:center!important;justify-content:center!important;text-align:center!important;direction:ltr!important}
  body.contact-luxury-v2 .contact-whatsapp .phone-number{display:block!important;margin-inline:auto!important;float:none!important;position:static!important;text-align:center!important}
  body.contact-luxury-v2 .contact-whatsapp .contact-icon-shell{width:58px;height:58px;flex:0 0 58px}
  body.contact-luxury-v2 #contact .contact-map-card{padding:10px!important;border-radius:22px!important}.contact-luxury-v2 .contact-map-head{padding:8px 62px 0 2px!important;min-height:60px!important}.contact-luxury-v2 .contact-map-head h3{font-size:18px!important}.contact-luxury-v2 .contact-map-head p{font-size:9px!important}.contact-luxury-v2 .map-pin-mini{width:52px;height:52px;top:4px}.contact-luxury-v2 .map-pin-mini img{width:35px;height:35px}
  body.contact-luxury-v2 .contact-map-wrap{height:310px!important;border-radius:16px!important}.contact-luxury-v2 .contact-map-wrap iframe{min-height:406px!important;height:406px!important;margin-top:-96px!important}body.contact-luxury-v2 #contact .contact-map-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;width:100%!important}body.contact-luxury-v2 #contact .contact-map-note{width:100%!important;text-align:center!important}body.contact-luxury-v2 #contact .contact-map-btn{width:100%!important;max-width:none!important;white-space:normal!important;text-align:center!important}
  body.contact-luxury-v2 .map-resort-focus{top:40%;grid-template-columns:36px auto;min-width:158px;padding:7px 10px}.contact-luxury-v2 .map-resort-focus img{width:36px;height:36px}.contact-luxury-v2 .map-resort-focus b{font-size:11px}.contact-luxury-v2 .map-resort-focus small{font-size:8px}
  body.contact-luxury-v2 .contact-closing{gap:8px;margin-top:30px;margin-bottom:8px;font-size:9px}.contact-luxury-v2 .contact-closing span{width:35px}
}

@media(prefers-reduced-motion:reduce){
  body.contact-luxury-v2 .contact-map-wrap,body.contact-luxury-v2 .map-loading-pin,body.contact-luxury-v2 .map-loading-pin::before,body.contact-luxury-v2 .map-loading-pin::after,body.contact-luxury-v2 .contact-map-wrap.is-loaded .map-focus-pulse{animation:none!important}
  body.contact-luxury-v2 .contact-map-wrap iframe,body.contact-luxury-v2 .map-loading-state{transition:none!important}
}

@media(max-width:380px){
  body.contact-luxury-v2 .contact-section-head h1{font-size:38px!important}
  body.contact-luxury-v2 .contact-row{min-height:140px!important;padding-inline:4px!important}.contact-luxury-v2 .contact-icon-shell{width:50px;height:50px;flex-basis:50px}.contact-luxury-v2 .contact-icon-img{width:34px!important;height:34px!important}
}

/* Contact location journey — local WebGL globe, no embedded map UI. */
body.contact-luxury-v2 .contact-globe-stage{
  position:relative;height:472px;overflow:hidden;isolation:isolate;
  border:1px solid rgba(238,198,103,.52);border-radius:20px;
  background:
    radial-gradient(circle at 50% 44%,rgba(26,92,139,.24),transparent 35%),
    radial-gradient(circle at 20% 18%,rgba(255,255,255,.1) 0 1px,transparent 1.8px),
    radial-gradient(circle at 76% 32%,rgba(255,255,255,.08) 0 1px,transparent 1.8px),
    linear-gradient(145deg,#071f34 0%,#020c16 78%);
  background-size:auto,93px 93px,131px 131px,auto;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 -52px 90px rgba(0,4,10,.42),0 18px 54px rgba(0,0,0,.28)
}
body.contact-luxury-v2 .contact-globe-stage::before{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 43%,transparent 25%,rgba(1,8,14,.06) 48%,rgba(1,7,13,.54) 100%),linear-gradient(180deg,rgba(1,8,14,.18),transparent 24%,transparent 67%,rgba(1,8,14,.55));}
body.contact-luxury-v2 .contact-globe-stage::after{content:"";position:absolute;z-index:5;left:12%;right:12%;bottom:50px;height:1px;background:linear-gradient(90deg,transparent,rgba(235,192,91,.28),transparent);pointer-events:none}
body.contact-luxury-v2 .contact-globe-canvas{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;opacity:0;transform:scale(.96);transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.75,.25,1)}
body.contact-luxury-v2 .globe-ready .contact-globe-canvas{opacity:1;transform:none}
body.contact-luxury-v2 .globe-loading-state{position:absolute;z-index:8;inset:0;display:grid;place-content:center;justify-items:center;gap:7px;padding:20px;text-align:center;color:#efc96e;background:radial-gradient(circle at 50% 43%,rgba(28,80,112,.42),transparent 34%),linear-gradient(145deg,#071f34,#020c16);transition:opacity .6s ease,visibility .6s ease}
body.contact-luxury-v2 .globe-ready .globe-loading-state{opacity:0;visibility:hidden;pointer-events:none}
body.contact-luxury-v2 .globe-loading-state b{font:800 14px Cairo,Tajawal,sans-serif}.contact-luxury-v2 .globe-loading-state small{color:#adbec8;font:600 10px Cairo,Tajawal,sans-serif}
body.contact-luxury-v2 .globe-loader-orbit{position:relative;width:86px;height:86px;margin-bottom:8px;border:1px solid rgba(234,190,89,.42);border-radius:50%;box-shadow:inset 0 0 26px rgba(43,131,190,.16)}
body.contact-luxury-v2 .globe-loader-orbit::before,body.contact-luxury-v2 .globe-loader-orbit::after{content:"";position:absolute;border:1px solid rgba(234,190,89,.3);border-radius:50%;inset:8px 20px;transform:rotate(58deg)}
body.contact-luxury-v2 .globe-loader-orbit::after{inset:20px 8px;transform:rotate(-22deg)}
body.contact-luxury-v2 .globe-loader-orbit i{position:absolute;left:50%;top:-4px;width:9px;height:9px;border-radius:50%;background:#efc967;box-shadow:0 0 16px #efc967;transform:translateX(-50%);transform-origin:4px 47px;animation:globeLoader 2.2s linear infinite}
@keyframes globeLoader{to{transform:translateX(-50%) rotate(360deg)}}
body.contact-luxury-v2 .globe-phase-caption{position:absolute;z-index:7;top:18px;left:50%;width:min(88%,430px);display:grid;gap:2px;text-align:center;transform:translateX(-50%);pointer-events:none;text-shadow:0 5px 18px rgba(0,0,0,.78)}
body.contact-luxury-v2 .globe-phase-caption b{order:-1;color:#efc96e;font:900 16px/1.55 Cairo,Tajawal,sans-serif;transition:opacity .24s ease}
body.contact-luxury-v2 .globe-phase-caption span{color:#b9c7ce;font:600 10px/1.7 Cairo,Tajawal,sans-serif;transition:opacity .24s ease}
body.contact-luxury-v2 .globe-resort-label{position:absolute;z-index:7;left:50%;bottom:69px;display:grid;grid-template-columns:48px auto;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 38px);padding:9px 16px 9px 12px;border:1px solid rgba(239,196,93,.66);border-radius:15px;background:linear-gradient(135deg,rgba(5,25,40,.86),rgba(2,14,24,.76));box-shadow:0 15px 38px rgba(0,0,0,.46),0 0 30px rgba(230,179,65,.12),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(13px) saturate(1.15);-webkit-backdrop-filter:blur(13px) saturate(1.15);opacity:0;transform:translate(-50%,12px) scale(.96);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.85,.2,1);pointer-events:none}
body.contact-luxury-v2 .globe-final .globe-resort-label{opacity:1;transform:translate(-50%,0) scale(1)}
body.contact-luxury-v2 .globe-resort-pin{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(239,196,93,.48);border-radius:50%;background:rgba(232,184,76,.08);box-shadow:0 0 0 0 rgba(239,196,93,.35);animation:resortPinPulse 2.4s ease-out infinite}
body.contact-luxury-v2 .globe-resort-pin img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 0 9px rgba(239,196,93,.3))}
body.contact-luxury-v2 .globe-resort-label div{display:grid;gap:1px;min-width:0;text-align:start}.contact-luxury-v2 .globe-resort-label b{color:#efc96e;font:900 13px/1.55 Cairo,Tajawal,sans-serif;white-space:nowrap}.contact-luxury-v2 .globe-resort-label small{color:#b7c5cc;font:600 9px/1.5 Cairo,Tajawal,sans-serif}
@keyframes resortPinPulse{0%,36%{box-shadow:0 0 0 0 rgba(239,196,93,.32)}100%{box-shadow:0 0 0 16px rgba(239,196,93,0)}}
body.contact-luxury-v2 .globe-timeline{position:absolute;z-index:7;left:50%;bottom:14px;display:grid;grid-template-columns:repeat(3,82px);align-items:start;transform:translateX(-50%);pointer-events:none}
body.contact-luxury-v2 .globe-step{position:relative;display:grid;justify-items:center;gap:4px;color:#728693;font:700 8px/1.4 Cairo,Tajawal,sans-serif;transition:color .35s ease}
body.contact-luxury-v2 .globe-step:not(:last-child)::after{content:"";position:absolute;z-index:-1;top:5px;inset-inline-start:50%;width:100%;height:1px;background:rgba(114,134,147,.34);transition:background .5s ease}
body.contact-luxury-v2 .globe-step i{width:11px;height:11px;border:2px solid #5d7481;border-radius:50%;background:#071724;box-shadow:0 0 0 3px rgba(7,23,36,.7);transition:all .42s ease}
body.contact-luxury-v2 .globe-step.active{color:#d8b969}.contact-luxury-v2 .globe-step.active i{border-color:#e6bd5b;background:#e6bd5b;box-shadow:0 0 0 3px rgba(230,189,91,.11),0 0 13px rgba(230,189,91,.32)}.contact-luxury-v2 .globe-step.active:not(:last-child)::after{background:linear-gradient(90deg,#dcb355,rgba(220,179,85,.42))}.contact-luxury-v2 .globe-step.current i{transform:scale(1.22)}
body.contact-luxury-v2 .globe-replay{position:absolute;z-index:8;top:14px;left:14px;width:38px;height:38px;display:grid;place-items:center;padding:0;border:1px solid rgba(235,192,91,.45);border-radius:50%;background:rgba(4,21,34,.62);color:#e9c15f;box-shadow:0 10px 28px rgba(0,0,0,.24);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .35s ease,transform .35s ease,border-color .25s;cursor:pointer}
html[dir="ltr"] body.contact-luxury-v2 .globe-replay{left:auto;right:14px}
body.contact-luxury-v2 .globe-final .globe-replay{opacity:1;visibility:visible;transform:none}.contact-luxury-v2 .globe-replay:hover{border-color:#e9bd59!important}.contact-luxury-v2 .globe-replay svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.contact-luxury-v2 .globe-fallback-earth{display:none;position:absolute;z-index:2;left:50%;top:50%;width:min(68%,330px);aspect-ratio:1;border-radius:50%;background:url('assets/contact-globe/earth-atmos-2048.jpg') center/cover;box-shadow:inset -45px -18px 62px rgba(0,0,0,.72),inset 14px 5px 30px rgba(78,174,232,.16),0 0 46px rgba(46,139,199,.2);transform:translate(-50%,-51%)}
body.contact-luxury-v2 .globe-fallback-mode .contact-globe-canvas{display:none}.contact-luxury-v2 .globe-fallback-mode .globe-fallback-earth{display:block}
body.contact-luxury-v2 .contact-globe-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important;margin:12px 0 8px!important}
body.contact-luxury-v2 .globe-action{min-width:0;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 14px;border:1px solid rgba(231,190,97,.52);border-radius:13px;color:#f4ddb0;text-decoration:none;font:900 11px/1.5 Cairo,Tajawal,sans-serif;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease}
body.contact-luxury-v2 .globe-action svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.contact-luxury-v2 .globe-action span{min-width:0;text-align:center}
body.contact-luxury-v2 .globe-directions-btn{background:linear-gradient(135deg,#d7a840,#f1cf79)!important;color:#071522!important;box-shadow:0 12px 30px rgba(220,174,71,.16)}
body.contact-luxury-v2 .globe-google-btn{background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.018))!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body.contact-luxury-v2 .globe-action:hover{transform:translateY(-2px);border-color:rgba(241,203,111,.86);box-shadow:0 14px 34px rgba(0,0,0,.26)}
body.contact-luxury-v2 .contact-map-card>.contact-map-note{display:block;width:100%;text-align:center;color:#aebcc4!important;font-size:9px!important;line-height:1.65!important}
html[dir="ltr"] body.contact-luxury-v2 .contact-map-head{padding:2px 0 0 72px!important}.contact-luxury-v2[dir="ltr"] .map-pin-mini,html[dir="ltr"] body.contact-luxury-v2 .map-pin-mini{right:auto;left:0}

@media(max-width:720px){
  body.contact-luxury-v2 .contact-globe-stage{height:424px;border-radius:16px;background-position:center;background-size:auto,82px 82px,117px 117px,auto}
  body.contact-luxury-v2 .contact-globe-stage::after{bottom:48px;left:8%;right:8%}
  body.contact-luxury-v2 .globe-phase-caption{top:13px;width:76%;gap:0}.contact-luxury-v2 .globe-phase-caption b{font-size:13px}.contact-luxury-v2 .globe-phase-caption span{font-size:8px}
  body.contact-luxury-v2 .globe-replay{top:10px;left:10px;width:34px;height:34px}html[dir="ltr"] body.contact-luxury-v2 .globe-replay{left:auto;right:10px}
  body.contact-luxury-v2 .globe-resort-label{bottom:67px;grid-template-columns:42px minmax(0,1fr);gap:8px;width:min(270px,calc(100% - 26px));padding:8px 12px}.contact-luxury-v2 .globe-resort-pin{width:42px;height:42px}.contact-luxury-v2 .globe-resort-pin img{width:31px;height:31px}.contact-luxury-v2 .globe-resort-label b{font-size:11px}.contact-luxury-v2 .globe-resort-label small{font-size:8px}
  body.contact-luxury-v2 .globe-timeline{bottom:13px;grid-template-columns:repeat(3,70px)}.contact-luxury-v2 .globe-step{font-size:7px}
  body.contact-luxury-v2 #contact .contact-globe-actions{grid-template-columns:1fr!important;gap:8px!important;margin-top:9px!important}.contact-luxury-v2 .globe-action{min-height:47px;width:100%;font-size:11px}
  html[dir="ltr"] body.contact-luxury-v2 .contact-map-head{padding:8px 2px 0 62px!important}
}

@media(max-width:380px){
  body.contact-luxury-v2 .contact-globe-stage{height:398px}.contact-luxury-v2 .globe-timeline{grid-template-columns:repeat(3,64px)}
}

@media(prefers-reduced-motion:reduce){
  body.contact-luxury-v2 .globe-loader-orbit i,body.contact-luxury-v2 .globe-resort-pin{animation:none!important}.contact-luxury-v2 .contact-globe-canvas,.contact-luxury-v2 .globe-resort-label,.contact-luxury-v2 .globe-loading-state{transition:none!important}
}

/* Real interactive location journey (MapLibre + satellite imagery). */
body.contact-luxury-v2 .contact-globe-map{
  position:absolute;z-index:2;inset:0;width:100%;height:100%;
  opacity:0;transform:scale(1.018);
  transition:opacity .9s ease,transform 1.15s cubic-bezier(.2,.75,.25,1);
  background:#020814;
}
body.contact-luxury-v2 .globe-ready .contact-globe-map{opacity:1;transform:none}
body.contact-luxury-v2 .contact-globe-map .maplibregl-map,
body.contact-luxury-v2 .contact-globe-map .maplibregl-canvas-container,
body.contact-luxury-v2 .contact-globe-map .maplibregl-canvas{width:100%!important;height:100%!important}
body.contact-luxury-v2 .contact-globe-map .maplibregl-canvas{outline:0}
body.contact-luxury-v2 .contact-globe-stage::before{
  z-index:3;
  background:
    radial-gradient(ellipse at 50% 45%,transparent 34%,rgba(1,7,13,.08) 63%,rgba(1,7,13,.44) 100%),
    linear-gradient(180deg,rgba(1,8,14,.26),transparent 22%,transparent 72%,rgba(1,8,14,.54));
}
body.contact-luxury-v2 .contact-globe-stage::after{z-index:6}
body.contact-luxury-v2 .globe-resort-label{display:none!important}
body.contact-luxury-v2 .globe-fallback-mode .contact-globe-map{display:none}

body.contact-luxury-v2 .contact-globe-map .maplibregl-control-container{font-family:Cairo,Tajawal,sans-serif}
body.contact-luxury-v2 .contact-globe-map .maplibregl-ctrl-top-right{top:12px;right:12px}
body.contact-luxury-v2 .contact-globe-map .maplibregl-ctrl-group{
  overflow:hidden;margin:0!important;border:1px solid rgba(237,195,96,.52);border-radius:12px;
  background:rgba(3,18,30,.72);box-shadow:0 10px 28px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(11px) saturate(1.15);-webkit-backdrop-filter:blur(11px) saturate(1.15);
}
body.contact-luxury-v2 .contact-globe-map .maplibregl-ctrl-group button{width:34px;height:34px;border-color:rgba(237,195,96,.16)}
body.contact-luxury-v2 .contact-globe-map .maplibregl-ctrl-group button:hover{background-color:rgba(236,192,89,.14)}
body.contact-luxury-v2 .contact-globe-map .maplibregl-ctrl-icon{filter:invert(78%) sepia(54%) saturate(599%) hue-rotate(356deg) brightness(102%)}

body.contact-luxury-v2 .resort-map-marker{
  position:absolute;top:0;left:0;right:auto;display:flex;flex-direction:column;align-items:center;
  width:max-content;max-width:250px;opacity:0!important;
  transition:opacity .7s ease;pointer-events:none;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.48));
}
body.contact-luxury-v2 .resort-map-marker.is-visible{opacity:1!important}
body.contact-luxury-v2 .contact-globe-stage.globe-final::before{opacity:.68}
body.contact-luxury-v2 .resort-map-marker__label{
  position:relative;z-index:3;display:grid;gap:1px;min-width:194px;padding:9px 15px 8px;
  border:1px solid rgba(242,201,105,.78);border-radius:13px;text-align:center;
  background:linear-gradient(145deg,rgba(4,24,39,.94),rgba(2,13,23,.86));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 12px 30px rgba(0,0,0,.38);
  backdrop-filter:blur(13px) saturate(1.2);-webkit-backdrop-filter:blur(13px) saturate(1.2);
}
body.contact-luxury-v2 .resort-map-marker__label::after{
  content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:12px;
  border-right:1px solid rgba(242,201,105,.78);border-bottom:1px solid rgba(242,201,105,.78);
  background:#041724;transform:translateX(-50%) rotate(45deg);
}
body.contact-luxury-v2 .resort-map-marker__label b{color:#f0ca6c;font:900 13px/1.55 Cairo,Tajawal,sans-serif;white-space:nowrap}
body.contact-luxury-v2 .resort-map-marker__label small{color:#c2ced3;font:600 9px/1.5 Cairo,Tajawal,sans-serif}
body.contact-luxury-v2 .resort-map-marker__pin{
  position:relative;z-index:2;width:43px;height:49px;display:grid;place-items:center;margin-top:8px;
  color:#07131e;background:linear-gradient(145deg,#d6a33a,#f3d57f);border:2px solid #f7de98;
  border-radius:50% 50% 50% 7px;transform:rotate(-45deg);box-shadow:0 0 0 5px rgba(236,188,79,.12),0 8px 24px rgba(0,0,0,.38);
}
body.contact-luxury-v2 .resort-map-marker__pin svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;transform:rotate(45deg)}
body.contact-luxury-v2 .resort-map-marker__pulse{
  position:absolute;z-index:1;left:50%;bottom:-6px;width:25px;height:11px;border:2px solid rgba(244,207,116,.82);border-radius:50%;
  transform:translateX(-50%);animation:mapMarkerPulse 2.1s ease-out infinite;
}
@keyframes mapMarkerPulse{0%{opacity:.9;transform:translateX(-50%) scale(.6)}100%{opacity:0;transform:translateX(-50%) scale(2.45)}}

body.contact-luxury-v2 .globe-map-hint{
  position:absolute;z-index:7;left:50%;bottom:54px;display:flex;align-items:center;justify-content:center;
  max-width:calc(100% - 40px);padding:6px 12px;border:1px solid rgba(234,191,91,.26);border-radius:999px;
  color:#c3ced3;background:rgba(2,15,25,.67);font:700 8.5px/1.4 Cairo,Tajawal,sans-serif;text-align:center;
  box-shadow:0 8px 24px rgba(0,0,0,.24);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
  opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .45s ease,transform .45s ease,visibility .45s;pointer-events:none;
}
body.contact-luxury-v2 .globe-final .globe-map-hint{opacity:1;visibility:visible;transform:translate(-50%,0)}
body.contact-luxury-v2 .globe-map-credit{
  position:absolute;z-index:7;left:9px;bottom:7px;color:rgba(197,207,211,.64);
  font:600 6.5px/1.2 system-ui,sans-serif;letter-spacing:.03em;pointer-events:none;
}
html[dir="ltr"] body.contact-luxury-v2 .globe-map-credit{left:auto;right:9px}
body.contact-luxury-v2 .globe-final .globe-phase-caption{opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s}

@media(max-width:720px){
  body.contact-luxury-v2 .contact-globe-map .maplibregl-ctrl-top-right{top:9px;right:9px}
  body.contact-luxury-v2 .contact-globe-map .maplibregl-ctrl-group button{width:31px;height:31px}
  body.contact-luxury-v2 .resort-map-marker__label{min-width:164px;padding:7px 11px 6px}.contact-luxury-v2 .resort-map-marker__label b{font-size:10.5px}.contact-luxury-v2 .resort-map-marker__label small{font-size:7.5px}
  body.contact-luxury-v2 .resort-map-marker__pin{width:37px;height:43px}.contact-luxury-v2 .resort-map-marker__pin svg{width:22px;height:22px}
  body.contact-luxury-v2 .globe-map-hint{bottom:51px;max-width:calc(100% - 26px);font-size:7.5px;padding:5px 9px}
  body.contact-luxury-v2 .globe-map-credit{font-size:5.5px}
}

@media(prefers-reduced-motion:reduce){
  body.contact-luxury-v2 .resort-map-marker__pulse{animation:none!important;opacity:.35}
  body.contact-luxury-v2 .contact-globe-map,body.contact-luxury-v2 .resort-map-marker,body.contact-luxury-v2 .globe-map-hint{transition:none!important}
}
