/* Premium experience layer: restrained motion, clear controls and a warmer presentation mode. */
:root{--premium-gold:#e3cf9a;--premium-ink:#0b2829;--premium-mint:#dfead9;--premium-line:#98b9a773}
.skip-link{position:fixed;z-index:100;left:18px;top:-60px;padding:11px 15px;border-radius:7px;background:#e5d5a5;color:#163c31;font-weight:600;transition:top .2s ease}.skip-link:focus{top:14px}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--premium-gold);outline-offset:3px}
.header{position:relative;z-index:30}.locale-trigger{min-height:38px;padding:8px 10px;border:1px solid #79938a66;border-radius:8px;background:#103337;color:#edf4e9;font-size:12px;letter-spacing:.15px;white-space:nowrap;cursor:pointer;transition:background .2s,border-color .2s}.locale-trigger:hover,.locale-trigger[aria-expanded=true]{background:#1a4a41;border-color:#d5c38e}
.map-actions{align-items:center}.map-tool-button{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:9px 12px;border:1px solid #8fae974d;border-radius:9px;background:#103632;color:#dbe6d7;font-size:13px;cursor:pointer;transition:background .22s,border-color .22s,transform .22s}.map-tool-button:hover,.map-tool-button[aria-expanded=true]{background:#285044;border-color:#d4c79f}.map-tool-button:active{transform:scale(.98)}.tool-icon{font-size:17px;line-height:1;color:#e3cf9a}
.ambient-layer{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden;opacity:.85;transition:opacity .5s ease}.ambient-orb{position:absolute;display:block;width:18vw;height:18vw;min-width:150px;min-height:150px;border-radius:50%;filter:blur(36px);opacity:.11;background:#d4e8ae;animation:ambientDrift 19s ease-in-out infinite alternate}.orb-one{left:9%;top:18%}.orb-two{right:12%;top:33%;width:14vw;height:14vw;background:#e8c683;animation-duration:24s;animation-delay:-7s}.ambient-glow{position:absolute;inset:0;background:radial-gradient(circle at 53% 48%,#fff2c417,transparent 36%),linear-gradient(115deg,transparent 0 42%,#f7d69008 58%,transparent 72%);mix-blend-mode:screen}.ambient-layer.is-muted{opacity:0}
body.theme-night{--premium-ink:#071c20}.theme-night .map-backdrop{background:#061b24}.theme-night .map-shade{background:linear-gradient(180deg,#02141d55,#061b206e 72%,#03151799)}.theme-night .master-image{filter:saturate(.78) brightness(.58) contrast(1.08) hue-rotate(7deg)}.theme-night .ambient-layer{opacity:.9}.theme-night .ambient-glow{background:radial-gradient(circle at 53% 57%,#ffd47525,transparent 32%),linear-gradient(115deg,transparent 0 42%,#ffd78c12 58%,transparent 72%)}.theme-night .unit .marker rect{fill:#e0c889!important;color:#11382e}.theme-night .map-topbar,.theme-night .map-bottom-bar{background:#071f24}
.focus-disabled .map-focus-layer,.focus-disabled .resort-focus{display:none!important}.focus-disabled .map-viewport:after{opacity:0!important}
.layer-panel{position:absolute;z-index:20;top:82px;right:24px;width:min(360px,calc(100% - 34px));padding:20px;border:1px solid #b0c8af55;border-radius:15px;background:#08282cf5;color:#edf2e8;box-shadow:0 22px 65px #00191c66;backdrop-filter:blur(16px);animation:panelIn .24s ease both}.layer-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.layer-panel h2{font:normal 29px/1.1 Georgia,serif;margin:8px 0 0;letter-spacing:-.4px}.layer-panel-copy{margin:15px 0 18px;color:#afc4b5;font-size:13px;line-height:1.55}.layer-close{width:35px;height:35px;border:1px solid #a4bea566;border-radius:50%;background:#173b38;color:#e6eadc;font-size:23px;line-height:1;cursor:pointer}.layer-close:hover{background:#285044}.layer-list{display:grid;gap:7px}.layer-option{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 10px;border:1px solid transparent;border-radius:9px;background:#0c3335;cursor:pointer}.layer-option:hover{border-color:#b9c99c44;background:#123f3e}.layer-option span{display:grid;gap:4px}.layer-option strong{font-size:13px;font-weight:500}.layer-option small{color:#9db7a9;font-size:11px;line-height:1.35}.layer-option input{position:absolute;opacity:0;pointer-events:none}.layer-option i{position:relative;display:block;width:37px;height:22px;flex-shrink:0;border:1px solid #9ab8a080;border-radius:99px;background:#173b3b;transition:.2s ease}.layer-option i:after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#a4b9aa;transition:.2s ease}.layer-option input:checked+i{background:#d6dbb2;border-color:#d6dbb2}.layer-option input:checked+i:after{left:18px;background:#205040}.layer-panel-actions{display:flex;gap:8px;margin-top:17px}.layer-panel-actions button{flex:1;margin:0;width:auto;min-height:42px;padding:9px 10px;font-size:13px}
.welcome-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px}.welcome-overlay[hidden]{display:none}.welcome-backdrop{position:absolute;inset:0;background:linear-gradient(130deg,#03181cd9,#082c2ecc),url('assets/bright/masterplan-front-main.webp') center/cover;filter:saturate(.9)}.welcome-card{position:relative;width:min(590px,100%);padding:46px 44px 38px;border:1px solid #d6ddbd77;border-radius:18px;background:#082a2ced;color:#eef2e8;box-shadow:0 30px 100px #0008;backdrop-filter:blur(15px);animation:welcomeIn .5s cubic-bezier(.2,.7,.2,1) both}.welcome-mark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:27px;border:1px solid #e4d49e;border-radius:50%;color:#e4d49e;font-size:12px;letter-spacing:2px}.welcome-card .eyebrow{color:#b4c9a9}.welcome-card h1{max-width:470px;font:normal clamp(38px,6vw,60px)/.98 Georgia,serif;letter-spacing:-1.9px;margin:15px 0 18px}.welcome-card>p{max-width:470px;color:#b9cdbb;font-size:15px;line-height:1.7}.welcome-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}.welcome-actions button{width:auto;margin:0;min-height:46px}.welcome-note{display:flex;gap:8px;align-items:center;margin-top:23px;color:#a7bca9;font-size:11px;letter-spacing:.35px}.welcome-note>span:first-child{color:#e2cd95;font-size:20px}
.tour-dialog,.enquiry-dialog{width:min(560px,calc(100vw - 28px));max-width:none;border:1px solid #b8c6ad;border-radius:16px;background:#f5f8f1;color:#163f30;padding:0;box-shadow:0 28px 90px #00191c70}.tour-dialog::backdrop,.enquiry-dialog::backdrop{background:#03191dbd;backdrop-filter:blur(9px)}.tour-progress{display:flex;align-items:center;gap:12px;padding:19px 22px 0;color:#698064;font-size:12px}.tour-progress>div{height:3px;flex:1;border-radius:99px;background:#dae4d1;overflow:hidden}.tour-progress i{display:block;width:25%;height:100%;border-radius:inherit;background:#2e7051;transition:width .3s ease}.tour-progress .collection-close{margin-left:auto}.tour-copy{padding:41px 38px 35px}.tour-copy .eyebrow{color:#6a805b}.tour-copy h2{font:normal 37px/1.12 Georgia,serif;letter-spacing:-.7px;margin:12px 0 13px}.tour-copy p{max-width:440px;color:#63765c;font-size:15px;line-height:1.65}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 22px;border-top:1px solid #d8e1d2}.tour-actions button{width:auto;margin:0}.tour-dialog.tour-is-last #tourNext{background:#1e654b}.tour-target-highlight{position:relative;z-index:76!important;box-shadow:0 0 0 4px #e4d29b,0 0 0 10px #e4d29b40!important;border-radius:10px!important}
.enquiry-dialog{padding:34px 34px 30px}.enquiry-close{position:absolute;right:18px;top:18px}.enquiry-dialog h2{font:normal 36px/1.1 Georgia,serif;letter-spacing:-.7px;margin:12px 42px 11px 0}.enquiry-dialog>p{color:#5d7458;font-size:14px;line-height:1.6}.enquiry-dialog form{display:grid;gap:14px;margin-top:22px}.enquiry-dialog label{display:grid;gap:7px;color:#577050;font-size:13px}.enquiry-dialog input,.enquiry-dialog textarea{width:100%;border:1px solid #b5c8ad;border-radius:7px;background:#fff;color:#244e36;padding:11px 12px;font:inherit;font-size:14px;resize:vertical}.enquiry-dialog form .primary-button{width:100%;margin:3px 0 0}.enquiry-dialog form small{color:#71826a;font-size:11px;line-height:1.5}.enquiry-status{min-height:20px;color:#2a7045!important;font-size:13px!important}.locale-panel{position:fixed;z-index:70;top:70px;right:19px;width:290px;padding:18px;border:1px solid #b5c8b1;border-radius:13px;background:#f5f8f0;color:#234a35;box-shadow:0 22px 55px #00191c4d}.locale-panel[hidden]{display:none}.locale-panel-head{display:flex;align-items:center;justify-content:space-between}.locale-panel-head>button{width:31px;height:31px;border:1px solid #b9cab0;border-radius:50%;background:#e9f0e4;color:#365d40;font-size:21px;cursor:pointer}.locale-section{display:grid;gap:9px;margin-top:18px}.locale-section strong{font-size:12px;color:#687c60}.locale-options{display:flex;gap:5px;flex-wrap:wrap}.locale-options button{min-height:35px;padding:7px 10px;border:1px solid #c0d0b9;border-radius:6px;background:#fbfcf8;color:#416048;font-size:12px;cursor:pointer}.locale-options button[aria-pressed=true]{background:#dcead8;border-color:#8caf8b;color:#1e5a39}.locale-panel>p{margin:17px 0 0;color:#72836d;font-size:11px;line-height:1.5}
.detail-hero img,.mobile-property-preview>img,.villa-card-image>img{transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .3s ease}.detail-hero:hover img,.villa-card:hover .villa-card-image>img{transform:scale(1.035)}.villa-card-image{position:relative;overflow:hidden}.hover-tags{display:flex;gap:5px;flex-wrap:wrap;margin:4px 0 10px}.hover-tags span{padding:4px 6px;border:1px solid #bfd0c56b;border-radius:4px;background:#edf3e7;color:#37634d;font-size:10px;letter-spacing:.25px}.villa-card-image:after{content:"Explore residence";position:absolute;right:12px;bottom:11px;padding:5px 8px;border:1px solid #fff7;border-radius:5px;background:#082c2dbb;color:#f1edda;font-size:10px;letter-spacing:.4px;opacity:0;transform:translateY(5px);transition:.25s ease}.villa-card:hover .villa-card-image:after,.villa-card:focus-within .villa-card-image:after{opacity:1;transform:translateY(0)}.villa-card-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.villa-tag{display:inline-flex;align-items:center;min-height:22px;padding:4px 7px;border:1px solid #9eb4a044;border-radius:4px;background:#143d38;color:#d9e3d2;font-size:10px;letter-spacing:.35px;text-transform:uppercase}.villa-tag.gold{border-color:#d6c38c77;background:#9a815a33;color:#e6d39f}.detail-panel .detail-hero img{object-fit:cover;image-rendering:auto}
.mobile-sheet-handle{display:block;width:42px;height:4px;margin:7px auto 2px;border-radius:99px;background:#97ad92}.mobile-property-preview{position:relative}.mobile-property-preview:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:54px;height:3px;border-radius:99px;background:#93aa8b}.mobile-preview-content{padding-top:3px}
#savedCount.premium-pulse{animation:countPulse .55s ease}.analytics-badge{position:fixed;left:-9999px}
@keyframes panelIn{from{opacity:0;transform:translateY(-7px) scale(.98)}to{opacity:1;transform:none}}@keyframes welcomeIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@keyframes ambientDrift{from{transform:translate3d(-10px,0,0)}to{transform:translate3d(40px,18px,0)}}@keyframes countPulse{50%{transform:scale(1.2);background:#f1dda7}}
@media(max-width:900px){.locale-trigger{padding-inline:8px}.map-tool-button{padding-inline:9px}.layer-panel{top:71px;right:16px}}
@media(max-width:700px){.locale-trigger{min-height:35px;padding:7px 6px;font-size:10px}.map-actions{display:grid;grid-template-columns:auto auto minmax(0,1.2fr) minmax(0,1fr);gap:7px}.map-tool-button{min-height:40px;padding:7px 9px}.map-tool-button span:last-child{font-size:12px}.layer-panel{top:60px;right:10px;width:calc(100% - 20px);padding:16px}.layer-panel h2{font-size:25px}.welcome-card{padding:34px 25px 28px;border-radius:14px}.welcome-card h1{font-size:41px}.welcome-card>p{font-size:14px}.welcome-actions{display:grid}.welcome-actions button{width:100%}.tour-copy{padding:35px 24px 27px}.tour-copy h2{font-size:31px}.enquiry-dialog{padding:30px 22px 23px}.enquiry-dialog h2{font-size:31px}.locale-panel{top:59px;right:9px;width:calc(100vw - 18px)}}
@media(prefers-reduced-motion:reduce){.ambient-orb,.welcome-card,.layer-panel{animation:none}.detail-hero img,.villa-card-image>img{transition:none}.tour-progress i{transition:none}}
