:root{--ink:#163d33;--cream:#f6f4eb;--lime:#d4eb9f;--muted:#6b7f75;--line:#dfe3d9;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-height:100%;width:100%;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #6cad50;outline-offset:5px}button:disabled{opacity:.45;cursor:wait}[hidden]{display:none!important}.topbar{height:86px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;font-size:14px;line-height:1.03;letter-spacing:1.7px;font-weight:800}.brand-symbol{font:60px/48px Georgia;position:relative;display:block;width:38px;height:48px;transform:translateY(-4px)}.brand-symbol span{position:absolute;left:9px;top:1px;font-size:34px}.header-title{font-size:10px;letter-spacing:2.4px;margin-left:65px}.quiet{background:none}.about-toggle{font-size:11px;display:flex;align-items:center;gap:9px}.status-dot{width:6px;height:6px;background:#6a9b42;border-radius:50%}.info-icon{display:inline-grid;place-items:center;width:19px;height:19px;border:1px solid #c8d0c4;border-radius:50%;font-family:Georgia;margin-left:5px}.viewer{height:calc(100dvh - 181px);min-height:560px;background:#e4e9dc;position:relative;overflow:hidden;margin:0 16px;border-radius:5px;isolation:isolate}.canvas-host{position:absolute;inset:0;z-index:1}.canvas-host canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.photo-layer{position:absolute;inset:0;z-index:3;overflow:hidden;background:#dce4d5;transition:opacity 1.6s cubic-bezier(.22,.61,.36,1),filter 1.6s;pointer-events:none}.photo-frame{position:absolute;overflow:hidden;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 100px #233d3044;background:#adc297}.photo-frame img{position:absolute;max-width:none;width:108.25%;height:163.83%;left:-7.72%;top:-39.52%;user-select:none}.photo-vignette{position:absolute;inset:0;background:linear-gradient(0deg,#0c2e27d9 0%,#15392f77 18%,transparent 47%),linear-gradient(90deg,#14352c55,transparent 55%)}.topline{position:absolute;top:28px;left:28px;right:28px;z-index:9;display:flex;align-items:center;justify-content:space-between;gap:15px}.breadcrumbs{font-size:9px;letter-spacing:1.8px;color:#fff;text-shadow:0 1px 10px #163d3366}.breadcrumbs span{padding:0 12px;opacity:.5}.mode-pill{display:flex;align-items:center;gap:8px;border-radius:30px;background:#f6f4ebe8;color:#254b3c;font-size:9px;font-weight:700;letter-spacing:1.5px;padding:11px 15px;margin-left:auto;box-shadow:0 2px 12px #12331e0a}.mode-pill>span:first-child{width:5px;height:5px;border-radius:50%;background:#9bab94}.mode-3d .mode-pill>span:first-child{background:#6f9e37;box-shadow:0 0 0 3px #d4eb9f99}.scene-caption{position:absolute;z-index:6;bottom:108px;left:44px;color:#fff;pointer-events:none;max-width:420px;transition:color 1s,opacity .5s}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600}h1{font-size:clamp(36px,4.3vw,65px);line-height:1.01;letter-spacing:-2.3px;font-weight:400;margin:14px 0 18px}h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-1.8px}p{line-height:1.65}.scene-caption p{font-size:12px;margin:0;opacity:.78}.bottomline{position:absolute;z-index:9;left:44px;right:28px;bottom:27px;display:flex;align-items:center;justify-content:space-between;gap:20px}.hint{display:flex;align-items:center;gap:10px;color:#fff;font-size:10px;opacity:.8;max-width:230px}.hint-icon{font-size:21px}.reveal-controls{display:flex;gap:10px;align-items:center}.view-switch{background:#f6f4ebec;display:flex;padding:4px;border-radius:30px;box-shadow:0 3px 10px #173d3310}.view-switch button{border-radius:24px;padding:10px 15px;background:transparent;font-size:11px}.view-switch button.active{background:var(--ink);color:white}.reveal-button{border-radius:30px;background:var(--lime);height:46px;padding:0 19px 0 23px;display:flex;align-items:center;gap:26px;font-size:11px;font-weight:600;min-width:185px;justify-content:space-between;transition:background .2s,transform .2s}.reveal-button:hover{background:#e4f3bf;transform:translateY(-2px)}.cube-icon{font-size:28px;line-height:1}.markers{position:absolute;z-index:7;inset:0;pointer-events:none}.marker{position:absolute;left:50%;top:50%;display:flex;align-items:center;gap:8px;background:none;pointer-events:auto;transform:translate(-20px,-20px);white-space:nowrap;filter:drop-shadow(0 5px 10px #0a312929)}.marker-dot{width:40px;height:40px;border-radius:50%;background:var(--lime);border:4px solid #fffffff0;color:var(--ink);display:grid;place-items:center;font-size:21px;position:relative;transition:transform .2s}.marker-dot:after{content:'';position:absolute;inset:-8px;border:1px solid #eaf5d570;border-radius:50%}.marker:hover .marker-dot{transform:scale(1.15)}.marker-label{background:var(--cream);border-radius:25px;padding:12px 15px;font-size:11px;display:flex;gap:20px;align-items:center}.marker-label b{font-size:15px;font-weight:400}.explore-controls{position:absolute;z-index:10;right:28px;top:50%;transform:translateY(-50%);background:#f6f4ebec;border-radius:30px;padding:6px;display:flex;flex-direction:column;box-shadow:0 3px 15px #183d3310;opacity:0;pointer-events:none;transition:opacity .5s}.explore-controls button{background:none;border-radius:50%;width:34px;height:34px;font-size:22px}.explore-controls button:hover{background:#dce6cc}.explore-controls span{height:1px;background:#d4dccd;margin:3px 8px}.mode-3d .explore-controls{opacity:1;pointer-events:auto}.mode-3d .photo-layer{opacity:0;filter:blur(9px)}.mode-3d .scene-caption{color:var(--ink)}.mode-3d .hint,.mode-3d .breadcrumbs{color:var(--ink);text-shadow:none}.mode-3d .scene-caption{bottom:103px;max-width:300px}.mode-3d h1{font-size:43px}.mode-3d .scene-caption p{opacity:.65}.mode-3d:before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#e4e9dcdd 0%,#e4e9dc99 17%,transparent 36%)}.destination-bar{height:95px;display:flex;gap:8px;align-items:center;padding:0 40px}.nav-intro{margin-right:auto;min-width:230px}.nav-intro span{display:block;font-size:8px;letter-spacing:2px;color:#7d8d7a;margin-bottom:8px}.nav-intro strong{font-size:12px;font-weight:400}.destination{display:flex;align-items:center;gap:16px;background:none;border-radius:35px;padding:16px 20px;min-width:205px;font-size:11px;border:1px solid transparent}.destination.selected{background:#e8eddf;border-color:#dce3d0}.destination:hover{background:#edf0e5}.number{font-size:9px;color:#8d9c86}.dest-arrow{margin-left:auto;font-size:17px}.back{border-radius:30px;background:#f6f4ebee;padding:12px 17px;font-size:11px;display:flex;align-items:center;gap:13px}.back span{font-size:19px}.subscene .breadcrumbs{display:none}.subscene .markers{display:none}.subscene h1{font-size:48px;max-width:380px}.transition{position:absolute;inset:0;background:#163d33;z-index:30;display:grid;align-content:center;justify-content:center;gap:24px;opacity:0;pointer-events:none;transition:opacity .32s;color:var(--cream)}.transition span{font-family:Georgia,serif;font-size:clamp(28px,5vw,55px);letter-spacing:-1px}.transition div{height:1px;background:#d4eb9f;width:80px;justify-self:center}.transition.visible{opacity:1;pointer-events:auto}.loading{position:absolute;z-index:40;top:95px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;background:var(--cream);font-size:11px;border-radius:30px;padding:12px 18px;box-shadow:0 4px 20px #0001}.loading>span{width:14px;height:14px;border:2px solid #bed0ad;border-top-color:var(--ink);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fallback{position:absolute;z-index:15;top:95px;left:24px;right:24px;padding:20px;background:var(--cream);max-width:440px;border-radius:8px}.fallback h2{font-size:20px;margin:0}.fallback p{font-size:12px;margin-bottom:0}.about-panel{position:fixed;top:74px;right:24px;background:var(--cream);padding:36px;z-index:100;width:380px;max-width:calc(100vw - 32px);border-radius:10px;box-shadow:0 20px 100px #092e3055;border:1px solid #dde4d3}.about-panel h2{font:32px/1.1 Georgia,serif;letter-spacing:-1px}.about-panel p{font-size:12px;color:#5d7467}.about-panel .about-small{font-size:10px;border-top:1px solid #d8e0d0;padding-top:15px}.about-panel>button{position:absolute;right:13px;top:9px;font-size:28px;background:none}.sr-only{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.nojs{position:fixed;z-index:100;inset:20px;max-height:100px;background:white;padding:20px}
@media(min-width:1600px){.scene-caption{left:70px}.bottomline{left:70px}.viewer{max-height:1100px}}
@media(max-width:1000px){.header-title{display:none}.topbar{padding:0 28px}.nav-intro{display:none}.destination-bar{justify-content:center;padding:0 20px}.destination{min-width:0;flex:1;max-width:290px}.scene-caption{left:28px}.bottomline{left:28px}.mode-3d h1{font-size:35px}.marker-label{gap:10px}}
@media(max-width:620px){.topbar{height:72px;padding:0 22px}.brand{font-size:11px;gap:8px;letter-spacing:1.3px}.brand-symbol{font-size:51px;width:33px}.brand-symbol span{font-size:29px;left:8px}.about-toggle{font-size:9px;max-width:145px;line-height:1.4;text-align:left;gap:7px}.info-icon{flex-shrink:0}.viewer{margin:0 8px;height:calc(100dvh - 153px);min-height:610px;border-radius:3px}.topline{left:18px;right:18px;top:20px}.breadcrumbs{font-size:8px;letter-spacing:1px;max-width:170px;line-height:1.8}.breadcrumbs span{padding:0 4px}.mode-pill{padding:10px 12px;font-size:8px;flex-shrink:0}.scene-caption{left:23px;bottom:120px;max-width:300px}.eyebrow{font-size:8px;letter-spacing:1.6px}h1{font-size:45px;margin:12px 0 14px;letter-spacing:-1.8px}.scene-caption p{font-size:11px;line-height:1.6}.photo-vignette{background:linear-gradient(0deg,#12382ee8 0%,#173e329e 30%,transparent 65%)}.bottomline{left:20px;right:20px;bottom:24px;align-items:stretch;gap:12px;flex-direction:column}.hint{font-size:9px;max-width:none;margin-bottom:3px}.hint-icon{font-size:16px}.reveal-controls{justify-content:space-between}.reveal-button{font-size:10px;min-width:170px;padding:0 15px 0 19px;height:43px;gap:14px}.view-switch button{font-size:10px;padding:10px 14px}.marker{gap:5px;transform:translate(-15px,-15px)}.marker-dot{width:32px;height:32px;border-width:3px;font-size:17px}.marker-label{font-size:9px;padding:10px 11px;gap:10px}.marker.residential{flex-direction:row-reverse;transform:translate(calc(-100% + 15px),-15px)}.marker.sport .marker-label{max-width:125px}.explore-controls{right:15px;top:35%;padding:4px}.explore-controls button{width:31px;height:31px;font-size:20px}.mode-3d:before{background:linear-gradient(0deg,#e4e9dc 0%,#e4e9dcdf 24%,transparent 56%)}.mode-3d .scene-caption{bottom:121px;max-width:270px}.mode-3d h1{font-size:33px;line-height:1.04;margin-bottom:10px}.mode-3d .scene-caption p{font-size:10px}.destination-bar{height:81px;gap:4px;padding:0 10px}.destination{padding:10px 8px;gap:6px;border-radius:10px;flex:1;line-height:1.4;font-size:9px}.destination .number{font-size:8px}.dest-arrow{font-size:13px;margin-left:1px}.about-panel{top:65px;right:16px;padding:28px}.subscene h1{font-size:38px;max-width:290px}.back{font-size:10px;padding:10px 14px}.loading{top:78px}.marker-label b{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

@media(max-width:620px){.marker.sport{flex-direction:column;gap:10px;transform:translate(-50%,-15px)}}

.reference-link{pointer-events:auto;display:inline-flex;align-items:center;gap:10px;color:inherit;font-size:10px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;margin-top:17px;opacity:.8}.reference-link:hover{opacity:1}.reference-link span{font-size:15px}@media(max-width:620px){.reference-link{font-size:9px;margin-top:12px}.viewer[data-scene="residential"] .scene-caption{bottom:122px}.viewer[data-scene="residential"] .eyebrow{font-size:7px;letter-spacing:1.2px}}
/* All verified masterplan transitions and cottage tour controls. */
.locations-trigger{margin-left:auto;border-radius:25px;padding:10px 14px;background:#f6f4ebed;font-size:10px;display:flex;gap:10px;align-items:center}.locations-trigger b{background:#dce7cb;border-radius:50%;font-size:9px;font-weight:400;width:20px;height:20px;display:grid;place-items:center}.topline .mode-pill{margin-left:0}.map-marker:not(.priority) .marker-dot{width:27px;height:27px;border-width:2px;font-size:8px;font-weight:600}.map-marker:not(.priority){transform:translate(-13px,-13px);z-index:1}.map-marker.priority{z-index:3}.map-marker:not(.priority) .marker-dot:after{inset:-5px}.map-marker:not(.priority) .marker-label{opacity:0;position:absolute;left:38px;pointer-events:none;transform:translateX(-5px);transition:opacity .15s,transform .15s}.map-marker:not(.priority):hover,.map-marker:not(.priority):focus-visible{z-index:20}.map-marker:not(.priority):hover .marker-label,.map-marker:not(.priority):focus-visible .marker-label{opacity:1;transform:none}.locations-panel{position:fixed;z-index:90;top:100px;right:40px;bottom:115px;width:470px;max-width:calc(100vw - 32px);background:var(--cream);border-radius:14px;padding:26px;box-shadow:0 20px 90px #0c342653;display:flex;flex-direction:column;border:1px solid #dae2cf}.locations-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.locations-heading h2{font:32px/1.1 Georgia,serif;margin:10px 0 22px;letter-spacing:-1px}.locations-heading>button{background:none;font-size:29px;line-height:1}.location-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;overflow-y:auto;padding:2px 6px 4px 2px}.location-item{display:flex;align-items:center;gap:10px;text-align:left;padding:14px 11px;border-radius:8px;font-size:10px;background:#e9eedf;line-height:1.35;min-height:49px}.location-item:hover,.location-item.current{background:var(--lime)}.location-item b{font-size:8px;font-weight:400;color:#7d9272}.location-item span:last-child{margin-left:auto;flex-shrink:0}.locations-note{font-size:9px;line-height:1.5;color:#829078;margin:18px 0 0}.cottage-actions,.tour-actions{position:absolute;right:28px;bottom:94px;z-index:12;max-width:380px}.cottage-kicker{font-size:8px;letter-spacing:1.4px;display:block;margin-bottom:10px;color:var(--ink)}.cottage-choice{display:flex;gap:8px}.cottage-choice button,.enter-cottage,.exit-cottage{border-radius:25px;padding:14px 18px;background:var(--cream);font-size:11px;display:flex;align-items:center;gap:20px;box-shadow:0 3px 15px #183d3310}.cottage-choice button:hover{background:var(--lime)}.tour-actions{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.tour-notice{font-size:8px;padding:8px 10px;background:#f6f4ebdd;border-radius:6px;max-width:280px;line-height:1.4}.enter-cottage{background:var(--lime);font-weight:600}.exit-cottage{font-size:10px;padding:11px 15px}.room-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:360px}.room-buttons button{background:#f6f4ebee;font-size:9px;border:1px solid transparent;padding:10px 12px;border-radius:22px}.room-buttons button.selected{background:var(--ink);border-color:#d1e4ac;color:white}.interior .scene-caption{bottom:100px;max-width:280px;background:#f6f4ebeb;padding:20px 24px;border-radius:10px;left:28px}.interior .scene-caption h1{font-size:33px;line-height:1.05;margin:10px 0 11px}.interior .scene-caption p{font-size:10px}.interior:before{display:none}.interior .bottomline .hint{background:#f6f4ebdf;padding:9px 13px;border-radius:22px;opacity:1}.interior .breadcrumbs{background:#f6f4ebdf;padding:12px 15px;border-radius:22px}.interior .reference-link{margin-top:10px}.mode-3d .cottage-kicker{color:var(--ink)}.cottage-kicker{color:#fff;text-shadow:0 1px 4px #0003}
@media(max-width:620px){.locations-trigger{font-size:9px;padding:8px 10px;gap:6px}.topline{gap:7px}.topline .mode-pill{padding:10px 9px;font-size:7px;letter-spacing:.7px}.subscene .back{max-width:174px}.breadcrumbs{max-width:125px}.locations-panel{top:84px;right:12px;bottom:95px;padding:21px;max-width:calc(100vw - 24px);width:430px}.location-list{gap:6px}.location-item{font-size:9px;gap:7px;padding:12px 9px}.locations-heading h2{font-size:28px}.map-marker:not(.priority) .marker-dot{width:29px;height:29px;font-size:8px}.map-marker:not(.priority){transform:translate(-14px,-14px)}.map-marker.priority .marker-label{display:none}.map-marker.priority{transform:translate(-16px,-16px)}.map-marker.residential,.map-marker.sport{flex-direction:row}.map-marker:not(.priority) .marker-label{display:none}.cottage-actions,.tour-actions{right:20px;bottom:132px;max-width:calc(100% - 40px);align-items:flex-start;left:20px}.cottage-choice button{padding:11px 14px;font-size:10px;gap:18px}.viewer[data-scene="individual"] .scene-caption,.viewer[data-scene^="cottage_"] .scene-caption{bottom:227px}.cottage-kicker{font-size:7px}.tour-notice{font-size:7px;padding:6px 8px;max-width:none}.tour-actions{gap:7px}.room-buttons{justify-content:flex-start;gap:5px}.room-buttons button{font-size:8px;padding:8px 10px}.enter-cottage,.exit-cottage{font-size:10px;padding:11px 15px}.interior .scene-caption{left:20px;padding:14px 17px;max-width:260px}.interior .scene-caption h1{font-size:28px;margin:8px 0}.interior .scene-caption p{font-size:9px}.interior .reference-link{display:none}.interior .hint{font-size:8px}.viewer[data-scene^="cottage_"] .eyebrow{font-size:7px;letter-spacing:.9px}.viewer[data-scene^="cottage_"] .scene-caption p{font-size:9px}.viewer[data-scene="individual"] .scene-caption h1{font-size:30px}.viewer[data-scene="individual"] .scene-caption p{font-size:9px}}

/* Apartments: fixed-eye 360° look-around, not exterior orbit. */
.apartment-note{font-size:8px;display:block;margin-top:8px;color:var(--ink);background:#f6f4ebda;padding:5px 9px;border-radius:10px;width:fit-content}.panorama-hotspots{position:absolute;inset:0;z-index:8;pointer-events:none}.room-hotspot{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);display:flex;align-items:center;gap:9px;padding:9px 14px 9px 8px;border:1px solid #e9f3d3;border-radius:30px;background:#f6f4ebee;font-size:11px;box-shadow:0 5px 24px #163d3340;min-height:44px}.room-hotspot span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--lime);font-size:17px}.room-hotspot:hover{background:var(--lime)}.panorama .scene-caption{bottom:auto;top:88px;padding:13px 17px;max-width:285px}.panorama .scene-caption h1{font-size:25px;margin:7px 0}.panorama .scene-caption p{font-size:9px;line-height:1.5}.panorama .reference-link{display:none}.panorama .explore-controls{top:42%}.panorama .eyebrow{font-size:7px;letter-spacing:1px}.panorama .tour-actions{bottom:93px}.panorama .hint{max-width:300px}.mode-3d .scene-caption{pointer-events:none}.apartment-actions{max-width:370px}
@media(max-width:620px){.viewer[data-scene="residential"] .scene-caption{bottom:235px}.viewer[data-scene="residential"] .scene-caption h1{font-size:30px}.apartment-actions{bottom:132px}.panorama .scene-caption{left:15px;top:77px;bottom:auto!important;padding:9px 12px;max-width:230px}.panorama .scene-caption h1{font-size:21px;margin:5px 0}.panorama .scene-caption p{font-size:8px}.panorama .eyebrow{font-size:6px;letter-spacing:.7px}.panorama .tour-actions{bottom:132px}.room-hotspot{font-size:9px;padding:7px 11px 7px 7px;gap:7px;max-width:180px}.panorama .bottomline .hint{font-size:8px;max-width:none}.panorama .reveal-controls{justify-content:flex-end}.panorama .room-buttons button{min-height:34px}.apartment-note{font-size:7px}}
/* Shared by the map, 3D scenes and 360° tours; above imagery, below every control. */
.aestar-watermark{position:absolute;z-index:4;top:6px;left:50%;transform:translateX(-50%);color:#fff;opacity:.58;font-size:clamp(14px,1.4vw,20px);font-weight:700;line-height:1;letter-spacing:.3em;text-indent:.3em;text-shadow:0 1px 3px #163d33,0 0 1px #163d33;white-space:nowrap;pointer-events:none;user-select:none;-webkit-user-select:none}
@media(max-width:620px){.aestar-watermark{top:3px;font-size:13px;letter-spacing:.28em;text-indent:.28em}}

/* Compact bilingual interface, independent of the 3D viewport. */
.header-actions{display:flex;align-items:center;gap:18px}.language-switch{display:flex;flex-shrink:0;padding:3px;border:1px solid #d8dfd0;border-radius:24px;background:#e9eedf;gap:2px}.language-switch button{background:transparent;border-radius:20px;min-width:34px;min-height:32px;padding:7px 8px;font-size:10px;font-weight:700}.language-switch button[aria-pressed="true"]{background:var(--ink);color:#fff}.language-switch button:hover:not([aria-pressed="true"]){background:var(--lime)}
@media(max-width:620px){.topbar{gap:10px;padding:0 16px}.header-actions{gap:10px}.language-switch{padding:2px}.language-switch button{min-height:38px;min-width:32px;padding:7px 6px;font-size:10px}.about-toggle{max-width:132px}.about-toggle .info-icon{margin-left:0}.header-title{margin-left:0}}
@media(max-width:440px){.about-toggle .about-label,.about-toggle .status-dot{display:none}.about-toggle{min-width:32px;min-height:44px;justify-content:center}.header-actions{gap:5px}}

.about-panel{max-height:calc(100dvh - 100px);overflow-y:auto}
@media(max-width:360px){.reveal-controls{gap:8px}.reveal-button{min-width:0;flex:1;gap:8px;padding:0 12px;font-size:9px}.view-switch{flex-shrink:0}}
