/* High-tech wireframe direction — overrides the softer illustrated map language. */
:root{--tech-bg:#03100f;--tech-panel:#071817;--tech-line:rgba(226,211,166,.64);--tech-line-soft:rgba(226,211,166,.24);--tech-cyan:#67f0df;--tech-gold:#d4b76e;--tech-ivory:#f7f1df;}

/* Sharper premium header on dark map surfaces */
.map-page .site-header.scrolled{background:rgba(247,241,223,.92);backdrop-filter:blur(18px);border-bottom-left-radius:18px;border-bottom-right-radius:18px;box-shadow:0 1px 0 rgba(3,16,15,.12),0 18px 60px rgba(0,0,0,.18)}
.map-page .brand-mark,.map-page .header-cta,.map-page .menu-toggle{border-width:1px}
.map-page .header-cta{border-radius:26px;letter-spacing:.01em}

/* Map page: move from resort illustration to luxury digital masterplan. */
.map-page{background:var(--tech-bg);color:var(--tech-ivory)}
.map-hero{background:radial-gradient(circle at 66% 17%,rgba(103,240,223,.15),transparent 24%),radial-gradient(circle at 18% 18%,rgba(212,183,110,.13),transparent 30%),linear-gradient(135deg,#020908,#081d1b 52%,#030d0c)!important}
.map-hero:before{background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:42px 42px;opacity:.18;transform:none}
.map-copy h1{letter-spacing:-.06em}.map-live-card{border-color:rgba(212,183,110,.28);background:linear-gradient(145deg,rgba(7,24,23,.82),rgba(7,24,23,.42));box-shadow:0 0 0 1px rgba(103,240,223,.08),0 30px 90px rgba(0,0,0,.42)}
.map-live-card span{color:var(--tech-cyan)}
.map-console{background:linear-gradient(#030f0e,#071615 45%,#030f0e)!important}
.map-stage{background:radial-gradient(circle at 57% 32%,rgba(103,240,223,.18),transparent 20%),linear-gradient(90deg,rgba(103,240,223,.07) 1px,transparent 1px),linear-gradient(0deg,rgba(226,211,166,.06) 1px,transparent 1px),#061513!important;background-size:auto,46px 46px,46px 46px,auto;border:1px solid rgba(226,211,166,.18);box-shadow:inset 0 0 0 1px rgba(103,240,223,.08),0 38px 120px rgba(0,0,0,.56)}
.map-stage:before{content:"";position:absolute;inset:18px;border:1px solid rgba(226,211,166,.16);border-radius:30px;z-index:2;pointer-events:none}.map-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 42%,rgba(103,240,223,.12) 48%,transparent 54% 100%);mix-blend-mode:screen;animation:wireScan 6s ease-in-out infinite;z-index:3;pointer-events:none}@keyframes wireScan{0%,18%{transform:translateX(-72%)}72%,100%{transform:translateX(72%)}}
.map-glow{background:radial-gradient(circle at 62% 35%,rgba(103,240,223,.16),transparent 26%),radial-gradient(circle at 50% 68%,rgba(212,183,110,.13),transparent 28%)!important;opacity:.9}
.map-illustration{filter:drop-shadow(0 42px 70px rgba(0,0,0,.44));box-shadow:none!important}
.map-illustration rect{fill:#061412!important;stroke:rgba(226,211,166,.18);stroke-width:2}
.map-illustration path{filter:none!important}.map-illustration path:nth-of-type(1){fill:rgba(20,43,36,.55)!important;stroke:rgba(226,211,166,.28)!important;stroke-width:2!important}.map-illustration path:nth-of-type(2){stroke:rgba(226,211,166,.72)!important;stroke-width:10!important;fill:none!important}.map-illustration path:nth-of-type(3){stroke:rgba(103,240,223,.54)!important;stroke-width:2.4!important;fill:none!important}.map-illustration path:nth-of-type(4){stroke:rgba(226,211,166,.24)!important;stroke-width:7!important;fill:none!important}.map-illustration path:nth-of-type(5){stroke:rgba(212,183,110,.7)!important;stroke-width:3!important;fill:none!important;stroke-dasharray:10 14!important}.map-illustration path:nth-of-type(6){stroke:rgba(103,240,223,.18)!important;stroke-width:24!important}.map-illustration path:nth-of-type(7){stroke:var(--tech-cyan)!important;stroke-width:3!important}.map-illustration path:nth-of-type(n+8){stroke:rgba(247,241,223,.2)!important;stroke-width:1.2!important;fill:none!important}.map-illustration text{display:none!important}.route-line{left:47.9%!important;top:41.8%!important;background:linear-gradient(var(--tech-cyan),rgba(103,240,223,0))!important;filter:drop-shadow(0 0 16px rgba(103,240,223,.75));width:1px!important;transform:rotate(-28deg)!important}
.map-pin-3d{font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 12px rgba(0,0,0,.95)}
.map-pin-3d span{width:11px;height:11px;border:1px solid rgba(247,241,223,.95);background:var(--tech-gold);box-shadow:0 0 0 1px rgba(212,183,110,.5),0 0 14px rgba(212,183,110,.72)}
.map-pin-3d b{border-radius:4px;background:rgba(4,13,12,.62);border:1px solid rgba(226,211,166,.28);padding:5px 7px;color:var(--tech-ivory);box-shadow:none;backdrop-filter:blur(10px)}
.map-pin-3d.active span,.map-pin-3d[data-dest="one"] span{background:var(--tech-cyan);border-color:#fff;box-shadow:0 0 0 6px rgba(103,240,223,.1),0 0 28px rgba(103,240,223,.9)}
.map-pin-3d[data-dest="one"] b,.map-pin-3d.active b{border-color:rgba(103,240,223,.46);color:#fff}.map-pin-3d.luxury span{background:var(--tech-gold)}.map-pin-3d.approx span{background:transparent;border-color:var(--tech-gold);box-shadow:0 0 0 1px rgba(212,183,110,.35),0 0 11px rgba(212,183,110,.45)}
.destination-panel{background:linear-gradient(160deg,rgba(247,241,223,.96),rgba(231,222,199,.9));border:1px solid rgba(212,183,110,.22);border-radius:18px;box-shadow:0 30px 100px rgba(0,0,0,.36)}
.destination-panel dl div{border-radius:10px;background:rgba(3,16,15,.06);border:1px solid rgba(3,16,15,.07)}.panel-actions a{border-radius:8px;background:#09201d}.panel-actions a+a{color:#09201d;background:transparent}

/* Homepage locator map: same wireframe language, lighter content density. */
.illustrated-map{background:radial-gradient(circle at 60% 42%,rgba(103,240,223,.12),transparent 26%),linear-gradient(90deg,rgba(5,33,36,.88) 0 30%,rgba(7,24,23,.95) 30% 100%),#061412!important;border:1px solid rgba(226,211,166,.2)}
.illustrated-map:before{background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(125deg,transparent 0 44%,rgba(103,240,223,.18) 44.5% 45%,transparent 45.5% 100%);background-size:38px 38px,38px 38px,auto;opacity:.75}.sea-label{font-family:'DM Sans',system-ui,sans-serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(247,241,223,.46)}.beach-line{width:3px;background:rgba(226,211,166,.8);box-shadow:0 0 24px rgba(226,211,166,.28)}.road-line{height:1px!important;background:rgba(103,240,223,.55);box-shadow:0 0 16px rgba(103,240,223,.3)}.map-pin{min-width:138px;background:rgba(4,13,12,.66);border-color:rgba(226,211,166,.26);border-radius:6px;box-shadow:none;color:var(--tech-ivory);backdrop-filter:blur(10px)}.map-pin:before{width:9px;height:9px;border:1px solid rgba(247,241,223,.95);background:var(--tech-gold);box-shadow:0 0 16px rgba(212,183,110,.8);bottom:-20px}.pin-one{background:rgba(7,24,23,.82);border-color:rgba(103,240,223,.44)}.pin-one:before{background:var(--tech-cyan);box-shadow:0 0 26px rgba(103,240,223,.9)}.map-pin strong{font-size:12px;letter-spacing:.05em;text-transform:uppercase}.map-pin span{font-size:11px;color:rgba(247,241,223,.62)}.map-open{border-radius:8px;background:rgba(212,183,110,.92)}

@media(max-width:720px){
  .map-page .site-header{padding:12px 18px;border-bottom-left-radius:18px;border-bottom-right-radius:18px;gap:10px}.map-page .brand{font-size:20px}.map-page .brand-mark{width:38px;height:38px}.map-page .header-cta{font-size:0!important;width:78px;min-width:78px;min-height:40px;padding:0;display:inline-grid!important;place-items:center;border-radius:20px}.map-page .header-cta:before{content:"Enquire";font-size:14px;font-weight:700}.map-page .menu-toggle{width:44px!important;height:40px!important;min-width:44px!important;min-height:40px!important;border-radius:20px}.map-page .menu-toggle span{width:17px;height:1.5px}
  .map-hero{padding:104px 22px 14px!important}.map-copy p:not(.eyebrow){display:block!important;margin:0 0 14px;color:rgba(247,241,223,.66);font-size:15px;line-height:1.45;max-width:320px}.map-copy h1{font-size:clamp(34px,10vw,41px)!important;line-height:1.03!important;letter-spacing:-.025em!important;max-width:340px;margin-bottom:10px!important}.map-hero-actions{gap:9px}.map-hero-actions .btn{padding:11px 13px!important;min-height:42px!important;font-size:13px!important}
  .map-stage{min-height:70svh!important;border-radius:24px!important}.map-stage:before{inset:12px;border-radius:17px}.map-illustration{inset:-2% -34%!important;width:168%!important;height:104%!important;transform:rotateX(24deg) rotateZ(-7deg) translateY(18px)!important;filter:none}.map-illustration text{display:none!important}.route-line{height:250px!important;opacity:.32!important}.map-pin-3d:not(.featured):not(.active){opacity:0;pointer-events:none}.map-pin-3d b{font-size:9px;padding:4px 5px}.map-pin-3d span{width:9px;height:9px;box-shadow:0 0 0 1px rgba(212,183,110,.45),0 0 10px rgba(212,183,110,.65)}.map-pin-3d.featured b{opacity:0}.map-pin-3d[data-dest="one"] b,.map-pin-3d[data-dest="kamala"] b,.map-pin-3d[data-dest="surin"] b,.map-pin-3d[data-dest="bangtao"] b,.map-pin-3d.active b{opacity:1;transform:none}.map-pin-3d[data-dest="millionaire"] b,.map-pin-3d[data-dest="paresa"] b{display:none}.map-pin-3d.active span,.map-pin-3d[data-dest="one"] span{box-shadow:0 0 0 5px rgba(103,240,223,.1),0 0 22px rgba(103,240,223,.85)}
  .destination-panel{border-radius:16px}.panel-actions a{border-radius:8px}
}

/* Phase 1 accurate generated basemap: flat north-up map, pins projected from matching bounds. */
.phase1-map-stage{position:relative!important;overflow:hidden!important;width:min(100%,720px)!important;max-width:720px!important;min-height:0!important;aspect-ratio:2/3!important;height:auto!important;margin-inline:auto!important;border-radius:30px!important;background:#020b0b!important;isolation:isolate;box-shadow:0 34px 110px rgba(0,0,0,.54),inset 0 0 0 1px rgba(226,211,166,.18)!important}
.phase1-basemap{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.98) contrast(1.03)}
.phase1-map-stage .map-glow{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(3,11,10,.05),rgba(3,11,10,.34)),radial-gradient(circle at 52% 44%,rgba(103,240,223,.08),transparent 26%)!important;pointer-events:none}
.phase1-map-stage:before{z-index:2!important}.phase1-map-stage:after{display:none!important}.phase1-map-stage .map-pin-3d{z-index:5}.phase1-map-stage .map-pin-3d b{white-space:nowrap}.map-pin-3d.edge-right b{right:16px;left:auto;transform:translateY(-50%)}.map-pin-3d.edge-bottom b{top:auto;bottom:14px;transform:translateX(-50%)}.map-pin-3d.edge-bottom.edge-right b{right:14px;left:auto;transform:none}.map-pin-3d.edge-top b{top:14px;transform:translateX(-50%)}
.phase1-map-stage .map-pin-3d:not(.active) b{opacity:.82}.phase1-map-stage .map-pin-3d[data-dest="one"] b,.phase1-map-stage .map-pin-3d.active b{opacity:1}
@media(min-width:980px){.map-shell{align-items:center}.phase1-map-stage{width:min(48vw,720px)!important}}
@media(max-width:720px){.phase1-map-stage{width:100%!important;max-width:none!important;border-radius:22px!important}.phase1-map-stage:before{inset:10px!important;border-radius:16px!important}.phase1-map-stage .map-pin-3d b{font-size:9.5px!important;max-width:128px;overflow:hidden;text-overflow:ellipsis}.phase1-map-stage .map-pin-3d:not([data-dest="one"]):not(.active) b{display:none}.phase1-map-stage .map-pin-3d span{width:10px;height:10px}.phase1-map-stage .map-pin-3d[data-dest="one"] b,.phase1-map-stage .map-pin-3d.active b{display:block}}
