@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#203d35;background:#e3e9e1;font-synthesis:none;--cream:#f7f5ef;--ink:#203d35;--muted:#69766a;--line:#dde1d7}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #d49c55;outline-offset:4px}button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}button{border:0}button[hidden],[hidden]{display:none!important}#app{height:100svh;min-height:520px;width:100%;overflow:hidden;position:relative}#scene{display:block;width:100%;height:100%;touch-action:none;outline:none;background:linear-gradient(#b1d1d9,#e5e8df)}#app:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(23,44,38,.1),transparent 25%,transparent 74%,rgba(20,42,34,.13))}
.topbar{position:absolute;z-index:5;top:24px;left:32px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;background:#f8f7f0ed;padding:15px 21px 14px;border-radius:2px}.brand>span{font:40px/1 Georgia,serif;letter-spacing:-2px}.brand-dot{color:#a97d49}.brand small{font-size:8px;letter-spacing:2px;margin-top:8px}.modes{display:flex;gap:4px;padding:5px;border-radius:40px;background:#f8f7f0ed;box-shadow:0 4px 28px #132f2020}.modes button{display:flex;align-items:center;gap:10px;padding:11px 19px;background:transparent;border-radius:40px;font-size:13px;transition:.2s}.modes button.selected{background:var(--ink);color:white}.modes button:hover:not(.selected){background:#e6e9df}.top-actions{display:flex;align-items:center;gap:9px}.icon-button{width:42px;height:42px;border-radius:50%;background:#f8f7f0ef;display:grid;place-items:center;font-size:20px}.prototype{background:#f8f7f0ef;padding:11px 13px;border-radius:24px;font-size:9px;letter-spacing:1.3px;display:flex;align-items:center;gap:7px}.prototype i{width:5px;height:5px;background:#668875;border-radius:50%}
.welcome{position:absolute;z-index:4;left:5%;top:29%;width:355px;padding:29px 29px 24px;background:#f8f7efee;backdrop-filter:blur(16px);border:1px solid #ffffff75;box-shadow:0 12px 55px #162d2917}.eyebrow{font-size:9px;letter-spacing:1.9px;font-weight:700}.welcome h1{font:62px/1.02 Georgia,serif;letter-spacing:-2.3px;margin:25px 0 20px}.welcome p{font-size:14px;line-height:1.7;color:#627166;margin:0 0 25px}.primary{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--ink);color:white;padding:16px 19px;width:100%;font-size:13px;text-align:left;transition:background .2s}.primary:hover{background:#37584c}.primary span:last-child{font-size:22px;line-height:16px}.welcome>small{font-size:10px;color:#6d786e;display:block;margin-top:17px}#loading{margin-top:13px;font-size:10px;color:#677468}.load-track{height:2px;background:#d5ddd0;margin-bottom:7px}.load-track span{display:block;height:100%;width:2%;background:#9f824e;transition:width .4s}.location-card{position:absolute;left:33px;top:145px;z-index:3;padding:19px 23px;background:#f8f7efe8;max-width:310px;border-left:3px solid #a88d60}.location-card h1{font:30px/1.1 Georgia,serif;letter-spacing:-.8px;margin:10px 0}.location-card p{font-size:12px;line-height:1.5;color:#647166;margin:0}.scene-hotspot{position:absolute;z-index:3;background:#f7f5efed;display:flex;align-items:center;gap:10px;padding:10px 15px 10px 10px;box-shadow:0 4px 15px #243c3320;text-align:left;transform:translate(-50%,-50%);font-size:12px;border-radius:40px}.scene-hotspot small{display:block;color:#748074;font-size:10px;margin-top:3px}.hotspot-dot{width:31px;height:31px;display:grid;place-items:center;background:#28493b;color:#fff;border-radius:50%;font-size:19px}.scene-hotspot:hover{background:#fff}.minimap{position:absolute;z-index:4;right:28px;bottom:110px;width:232px;background:#f8f7efef;backdrop-filter:blur(10px);border:1px solid #ffffff99;box-shadow:0 4px 24px #1e3e2618}.map-heading{display:flex;align-items:center;justify-content:space-between;padding:11px 13px 0;font-size:9px;letter-spacing:1.5px;font-weight:600}.map-heading button{background:transparent;font-size:20px;line-height:15px}.minimap svg{display:block;width:100%;height:190px}.map-caption{font-size:10px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 0 13px}.map-caption i{background:#a77842;width:6px;height:6px;border-radius:50%}#map-player{fill:#b77e38;stroke:#fff;stroke-width:1.2}.minimap.collapsed svg,.minimap.collapsed .map-caption{display:none}.minimap.collapsed .map-heading{padding-bottom:11px}
.destinations{position:absolute;z-index:5;bottom:47px;left:50%;transform:translateX(-50%);display:flex;background:#f8f7f0f7;padding:6px;box-shadow:0 8px 30px #18382422;gap:4px}.destinations button{background:transparent;display:flex;align-items:center;gap:9px;padding:12px 17px;white-space:nowrap;font-size:12px;transition:.2s}.destinations button.active{background:#e6e9de}.destinations button:hover{background:#edf0e7}.dest-icon{font:11px Georgia,serif;color:#9a8b6d;border:1px solid #c7ccbc;border-radius:50%;width:25px;height:25px;display:grid;place-items:center}.destinations .active .dest-icon{background:#25473c;color:#fff;border-color:#25473c}.bottom-note{position:absolute;z-index:4;bottom:17px;left:32px;right:28px;display:flex;align-items:center;justify-content:space-between;color:#334c40;font-size:10px;text-shadow:0 1px 9px #fff}.bottom-note button{font-size:10px;background:#f8f7efc9;padding:5px 9px}.walk-pad{position:absolute;left:32px;bottom:123px;z-index:4;text-align:center;user-select:none}.walk-pad button{width:43px;height:42px;background:#f8f7efed;font-size:21px;margin:2px;touch-action:none;box-shadow:0 2px 10px #203d3510}.walk-pad button:active,.walk-pad button.held{background:#294e3f;color:#fff}.walk-pad small{display:block;font-size:10px;background:#f8f7efbf;padding:5px 8px;margin-top:6px}#crosshair{position:absolute;top:50%;left:50%;width:5px;height:5px;border:1px solid #fff;border-radius:50%;z-index:3;pointer-events:none;box-shadow:0 0 3px #222}.toast{position:absolute;z-index:8;top:125px;left:50%;transform:translateX(-50%);background:#244739ed;color:#fff;padding:12px 19px;font-size:12px;max-width:80vw;text-align:center}.error-panel{position:absolute;z-index:20;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--cream);padding:30px;width:min(430px,90vw)}
dialog{border:0;padding:38px;max-width:490px;width:calc(100% - 32px);background:var(--cream);color:var(--ink);box-shadow:0 15px 100px #0003}dialog::backdrop{background:#0d282867;backdrop-filter:blur(3px)}dialog h2{font:36px/1.1 Georgia,serif;letter-spacing:-1px;margin:20px 0 26px}dialog p{font-size:13px;line-height:1.7;color:#647166}dialog .info-small{font-size:11px;border-top:1px solid var(--line);padding-top:15px}.close-dialog{position:absolute;right:18px;top:13px;background:transparent;font-size:26px;font-weight:400}.help-row{display:flex;gap:18px;border-top:1px solid var(--line);padding:17px 0}.help-row>span{font:16px Georgia,serif;color:#a18c65;padding-top:3px}.help-row h3{font-size:14px;font-weight:500;margin:0 0 7px}.help-row p{font-size:12px;margin:0}kbd{border:1px solid #c8cfbf;background:white;border-radius:3px;padding:1px 4px;font-size:10px;margin:0 1px}
@media(max-width:900px){.topbar{left:18px;right:18px;top:18px}.brand{padding:12px 15px}.brand>span{font-size:33px}.brand small{font-size:7px;letter-spacing:1.4px}.prototype{display:none}.welcome{left:5%;top:26%;width:320px}.welcome h1{font-size:53px}.minimap{right:18px;width:175px;bottom:115px}.minimap svg{height:151px}.location-card{left:18px;top:123px;padding:15px 17px;max-width:265px}.location-card h1{font-size:27px}.destinations button{padding:10px 13px}.bottom-note{left:18px;right:18px}.walk-pad{left:18px}.modes button{padding:10px 13px}.modes button svg{width:18px}.top-actions{gap:6px}.icon-button{width:36px;height:36px}}
@media(max-width:600px){#app{min-height:480px}.topbar{left:14px;right:14px;top:14px;gap:8px;flex-wrap:wrap}.brand{padding:10px 13px}.brand>span{font-size:30px}.brand small{font-size:6px;letter-spacing:1.3px;margin-top:5px}.modes{position:absolute;top:79px;left:50%;transform:translateX(-50%);padding:4px;white-space:nowrap}.modes button{padding:9px 15px;font-size:11px;gap:7px}.top-actions{margin-left:auto}.welcome{left:20px;top:auto;bottom:175px;width:calc(100% - 40px);max-width:345px;padding:24px}.welcome h1{font-size:47px;margin:18px 0 15px}.welcome p{font-size:12px;margin-bottom:18px}.welcome>small{font-size:9px}.welcome .eyebrow{font-size:8px}.welcome .primary{padding:14px 16px}.welcome~.minimap{display:none}.entered .minimap{display:block!important;width:133px;right:14px;bottom:157px}.minimap svg{height:110px}.map-heading{font-size:7px;padding:8px 8px 0}.map-caption{font-size:8px;padding-bottom:8px}.location-card{left:14px;top:145px;max-width:235px;padding:11px 13px}.location-card h1{font-size:24px;margin:7px 0}.location-card p{font-size:10px}.location-card .eyebrow{font-size:7px}.destinations{bottom:67px;width:calc(100% - 28px);padding:4px;gap:0;justify-content:space-around}.destinations button{padding:10px 7px;gap:5px;font-size:10px;flex-direction:column;min-width:65px}.dest-icon{width:22px;height:22px;font-size:10px}.bottom-note{bottom:19px;left:14px;right:14px;flex-direction:column;gap:5px;font-size:9px}#control-hint{background:#f8f7efad;padding:3px 6px}.bottom-note button{font-size:9px}.walk-pad{left:14px;bottom:158px}.walk-pad button{height:36px;width:36px;font-size:20px;margin:1px}.walk-pad small{font-size:8px;padding:5px 3px}.toast{top:127px;font-size:11px}.scene-hotspot{font-size:11px;padding:8px 12px 8px 8px}.scene-hotspot small{font-size:9px}.hotspot-dot{width:26px;height:26px}dialog{padding:28px;max-height:88svh}dialog h2{font-size:30px}.help-row{padding:12px 0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.quality-options{display:grid;gap:9px}.quality-options button{text-align:left;background:#eceee5;padding:14px 16px;border:1px solid transparent}.quality-options button[aria-pressed="true"]{border-color:#8b9b80;background:#dfe6d7}.quality-options strong{display:block;font-size:14px;margin-bottom:5px}.quality-options span{display:block;color:#637267;font-size:12px;line-height:1.5}

.villa-picker{position:absolute;z-index:5;left:32px;top:126px;display:flex;gap:3px;padding:4px;background:#f8f7efef;box-shadow:0 3px 18px #203d3512}.villa-picker button{background:transparent;padding:10px 19px;font-size:12px;text-align:left;min-width:106px}.villa-picker button[aria-pressed="true"]{background:#25473c;color:white}.villa-picker small{display:block;font-size:7px;letter-spacing:1.4px;margin-bottom:4px;opacity:.75}.location-card{top:202px}.villa-loading{position:absolute;z-index:15;top:126px;left:50%;transform:translateX(-50%);padding:16px 22px;background:#25473cf5;color:#fff;font-size:13px;box-shadow:0 5px 24px #0002}
@media(max-width:900px){.villa-picker{left:18px;top:118px}.location-card{top:192px}}
@media(max-width:600px){.villa-picker{left:14px;top:143px}.villa-picker button{padding:8px 12px;font-size:11px;min-width:95px}.villa-picker small{font-size:6px}.location-card{top:208px}.villa-loading{top:208px;width:calc(100% - 28px);text-align:center;font-size:11px}.destinations button{min-width:0;padding:9px 5px}.welcome{bottom:148px;padding:20px;max-height:calc(100svh - 345px);overflow:auto}.welcome h1{font-size:39px}}

/* Direct-touch controls avoid text selection, sticky button focus and long-press menus. */
#scene,.walk-pad,.walk-pad *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}
.walk-pad{width:132px;bottom:125px}#joystick{position:relative;width:112px;height:112px;margin:0 auto;border-radius:50%;border:1px solid #ffffffb8;background:#f8f7efe6;box-shadow:0 4px 20px #203d3520;cursor:grab;outline-offset:4px}#joystick.held{cursor:grabbing;background:#edf1e9ef}.joystick-axis{position:absolute;opacity:.2;background:#25473c;pointer-events:none}.axis-v{width:1px;height:72%;left:50%;top:14%}.axis-h{height:1px;width:72%;top:50%;left:14%}#joystick-thumb{position:absolute;width:43px;height:43px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#25473c;border:3px solid #f7f5ef;box-shadow:0 2px 9px #203d3530;pointer-events:none}.walk-pad small{font-size:9px;padding:6px 2px;white-space:nowrap}
.entered .minimap{backdrop-filter:none}
@media(max-width:600px){.walk-pad{width:118px;left:13px;bottom:158px}#joystick{width:104px;height:104px}.walk-pad small{font-size:8px}.location-card p{display:none}.location-card h1{font-size:22px}.location-card{max-width:235px;padding:10px 13px}.bottom-note #control-hint{font-size:8px}}

/* Exterior waypoints share the same controls as the two villa tours. */
.villa-picker button{min-width:93px;padding:10px 16px}.outdoors .location-card{max-width:300px}.scene-hotspot #hotspot-title{display:block}
@media(max-width:600px){.villa-picker{right:14px;width:max-content;max-width:calc(100% - 28px)}.villa-picker button{min-width:86px;padding:8px 12px}.outdoors .location-card{max-width:250px}.outdoors .location-card h1{font-size:22px}}

/* easyroi brands the presentation; the architecture and renderer stay untouched. */
.brand{background:#203d35;color:#fff;padding:16px 20px 14px;min-width:191px}
.brand-wordmark{display:flex;align-items:flex-end;gap:7px}
.brand-wordmark img{display:block;width:130px;height:auto}
.brand-wordmark>span{font-size:7px;letter-spacing:1.2px;margin-bottom:3px}
.brand small{font-size:7px;letter-spacing:1.7px;color:#e1e9e1;margin-top:11px}
.contact-open{display:flex;align-items:center;justify-content:space-between;gap:17px;background:var(--ink);color:#fff;border:1px solid #ffffff30;border-radius:24px;padding:0 18px;height:42px;font-size:12px;white-space:nowrap}
.contact-open:hover{background:#37584c}.contact-open>span:last-child{font-size:20px}
.welcome{top:202px;max-height:calc(100svh - 310px);overflow:auto;padding:26px;width:355px}
.welcome h1{font-size:49px;margin:21px 0 17px;letter-spacing:-1.8px}
.welcome p{margin-bottom:21px}
.exclusive-note{display:flex;gap:10px;align-items:center;margin-top:19px;padding-top:15px;border-top:1px solid #d9ddd2;font-size:10px;line-height:1.6;color:#687669}
.exclusive-note>span:first-child{font-size:21px;color:#978460}.exclusive-note strong{color:var(--ink);font-weight:600}
.contact-dialog{width:min(460px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:35px;overflow:auto}
.contact-brand{display:flex;align-items:flex-end;gap:9px;color:#6300ff;width:max-content;margin-bottom:19px}
.contact-brand img{width:142px;height:auto;display:block}.contact-brand span{font-size:8px;letter-spacing:1.5px;margin-bottom:3px}
.contact-exclusive{font-size:9px;text-transform:uppercase;letter-spacing:1.4px;color:#695880}
.contact-dialog h2{font-size:36px;line-height:1.12;margin:19px 0 14px}
.contact-dialog #contact-intro{margin:0 0 23px}
.interest-label{display:block;font-size:10px;letter-spacing:.5px;font-weight:600;margin-bottom:8px}
#contact-interest{font:inherit;font-size:13px;color:var(--ink);background:#fffdf8;border:1px solid #cbd2c7;border-radius:0;width:100%;padding:12px;margin:0 0 18px;min-height:44px}
#contact-interest:focus-visible{outline:3px solid #9567d0;outline-offset:3px}
.contact-action{display:flex;align-items:center;justify-content:space-between;gap:15px;text-decoration:none;padding:15px 17px;margin-bottom:10px;border:1px solid transparent;min-height:68px}
.contact-action strong{display:block;font-size:13px;font-weight:600}.contact-action small{display:block;font-size:11px;margin-top:5px}.contact-action>span:last-child{font-size:24px}
.contact-whatsapp{background:#203d35;color:#fff}.contact-whatsapp small{color:#dfe8df}.contact-whatsapp:hover{background:#37584c}
.contact-email{background:#eee9f5;color:#472370;border-color:#e1d9ed}.contact-email:hover{background:#e6ddef}
.contact-dialog .contact-note{font-size:10px;line-height:1.5;color:#737a70;margin:16px 0 20px}
.contact-dialog .close-dialog{width:40px;height:40px;right:9px;top:9px}
@media(min-width:601px) and (max-width:1050px){.topbar{gap:12px}.brand{min-width:168px;padding:13px 15px}.brand-wordmark img{width:113px}.contact-open{padding:0 13px;gap:9px;font-size:11px}.top-actions{gap:6px}.modes button{padding:10px 12px;gap:6px}}
@media(max-width:600px){
 .brand{padding:11px 13px;min-width:147px}.brand-wordmark{gap:5px}.brand-wordmark img{width:96px}.brand-wordmark>span{font-size:6px;letter-spacing:.8px;margin-bottom:2px}.brand small{font-size:6px;letter-spacing:1.1px;margin-top:8px}
 .contact-open{position:fixed;z-index:8;bottom:max(14px,env(safe-area-inset-bottom));left:14px;right:14px;width:calc(100% - 28px);height:42px;border-radius:2px;justify-content:center;gap:16px;font-size:12px;box-shadow:0 3px 16px #152e2924}
 .top-actions .icon-button{width:34px;height:34px}.bottom-note{display:none}
 .welcome{top:auto;bottom:148px;padding:22px;width:calc(100% - 40px);max-height:calc(100svh - 345px)}
 .welcome h1{font-size:39px;margin:15px 0}.welcome p{margin-bottom:17px}.exclusive-note{margin-top:15px;padding-top:12px;font-size:9px}
 .contact-dialog{padding:28px;max-height:calc(100svh - 24px);width:calc(100% - 28px)}.contact-dialog h2{font-size:31px}.contact-brand img{width:125px}.contact-brand{margin-bottom:17px}.contact-dialog #contact-intro{font-size:12px;margin-bottom:19px}
 .contact-dialog .contact-note{margin:13px 0 15px}
}
@media(max-width:350px){.top-actions{gap:4px}.top-actions .icon-button{width:31px;height:31px}.brand{min-width:143px}.contact-dialog{padding:25px 22px}.contact-exclusive{font-size:8px;letter-spacing:1px}.contact-dialog h2{font-size:29px}.contact-action{padding:13px}.contact-action strong{font-size:12px}}
@media(max-height:640px) and (min-width:601px){.welcome{top:192px;max-height:calc(100svh - 295px)}.welcome h1{font-size:37px;margin:12px 0}.welcome p{font-size:12px}.exclusive-note{margin-top:12px}}

html[data-tour-ready="true"] #loading{display:none}

/* Commercial layer: static SVG and lazy floor-plan images, no 3D duplication. */
.language-toggle{font-size:11px;font-weight:700;letter-spacing:.4px}
.villa-picker .catalog-launch{background:#e9e1f1;color:#472370;border-left:1px solid #d5ccdf}
.villa-picker .catalog-launch:hover{background:#ded2eb}
.map-catalog-link{display:block;width:100%;border-top:1px solid #d5ddcd;padding:10px;background:#f7f5ef;color:var(--ink);font-size:10px;text-align:center}
.catalog-dialog{width:min(1100px,calc(100% - 40px));max-width:1100px;max-height:calc(100svh - 36px);padding:0;overflow:auto;overscroll-behavior:contain}
.catalog-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:24px 30px 18px;background:var(--cream);border-bottom:1px solid #e1e4da}
.catalog-header h2{font-size:36px;margin:8px 0 0}.catalog-header .eyebrow{font-size:8px;letter-spacing:1.7px}
.catalog-header .close-dialog{position:static;width:42px;height:42px;flex-shrink:0;background:#e9ede3;border-radius:50%;font-size:26px}
.catalog-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr);gap:28px;padding:24px 30px 30px}
.catalog-overview>p:first-child{font-size:13px;margin:0 0 20px;max-width:360px}
.catalog-filters{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.catalog-filters button{background:#e8ece1;padding:10px 13px;border:1px solid transparent;border-radius:3px;font-size:11px;min-height:36px}.catalog-filters button[aria-pressed="true"]{background:var(--ink);color:#fff}
.catalog-map-wrap{background:#eaf0e2;border:1px solid #dde4d4;padding:16px 6px 10px}
.catalog-map-wrap svg{display:block;width:100%;height:245px;overflow:visible}.catalog-map-wrap p{font-size:9px;text-align:center;margin:8px 0 0;color:#77806d}
.catalog-site{fill:#dce6ce;stroke:#aab998;stroke-width:.45}.catalog-path{fill:#f4eee2;stroke:#ccbfaa;stroke-width:.3}.catalog-amenity{fill:#d7c9b0;stroke:#b5a68b;stroke-width:.35}.catalog-pool{fill:#9ecbc7;stroke:#6daca6;stroke-width:.4}
.catalog-villa-shape{fill:#d5cdb9;stroke:#a49a82;stroke-width:.45;transition:fill .15s}.catalog-svg-placeholder{fill:#ccc}
#catalog-svg [data-type="2BHK"] .catalog-villa-shape{fill:#d9cee6;stroke:#a49ab1}
#catalog-svg [aria-pressed="true"] .catalog-villa-shape{fill:#284c3e;stroke:#c09252;stroke-width:.9}
#catalog-svg [data-muted="true"]{opacity:.4}#catalog-svg [role="button"]{cursor:pointer}#catalog-svg [role="button"]:focus{outline:none}#catalog-svg [role="button"]:focus-visible .catalog-villa-shape{stroke:#6300ff;stroke-width:1.3}
.catalog-villa-number{font:5px 'DM Sans',Arial,sans-serif;fill:#4e5143;text-anchor:middle;dominant-baseline:central;pointer-events:none;font-weight:600}
#catalog-svg [aria-pressed="true"] .catalog-villa-number{fill:#fff}.catalog-pool-text{font:3.5px 'DM Sans',Arial,sans-serif;fill:#447570;text-anchor:middle;pointer-events:none}
.catalog-legend{display:flex;align-items:center;gap:17px;margin-top:14px;flex-wrap:wrap}.catalog-legend>span{display:flex;align-items:center;gap:6px;font-size:10px;color:#66705f}.catalog-legend i{width:9px;height:9px;display:block;border-radius:2px}.legend-one{background:#c9bea5}.legend-two{background:#c0acce}.legend-selected{background:#284c3e}
.catalog-small{font-size:10px!important;line-height:1.6!important;color:#727a6d!important;margin:13px 0}
.catalog-unit-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.catalog-unit-list button{height:42px;border:1px solid #d0d7c7;background:#eeeee5;font-size:12px;border-radius:2px}.catalog-unit-list button[data-type="2BHK"]{background:#ede6f4;border-color:#d9cfe4}.catalog-unit-list button[aria-pressed="true"]{background:var(--ink);color:white;border-color:var(--ink)}
.catalog-pricelist{border-top:1px solid #d8dfce;border-bottom:1px solid #d8dfce;margin-top:23px;padding:15px 0}.catalog-pricelist summary{cursor:pointer;font-size:12px;font-weight:600}.catalog-pricelist dl{font-size:12px;margin:17px 0}.catalog-pricelist dl>div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #e1e5da}.catalog-pricelist dd{margin:0;font-weight:600;white-space:nowrap}.catalog-pricelist>strong{font-size:11px}.catalog-pricelist p{font-size:10px;line-height:1.6;margin-bottom:0}
.catalog-source{font-size:9px!important;line-height:1.6!important;margin-top:17px;max-width:450px;color:#818878!important}
.catalog-card{background:#fffdf8;border:1px solid #dfe3d6;padding:23px;scroll-margin-top:108px}
.catalog-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.catalog-type{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#767d6b}.catalog-card h3{font:36px/1.1 Georgia,serif;letter-spacing:-1px;margin:6px 0 0}.catalog-step{display:flex;gap:5px}.catalog-step button{width:34px;height:34px;font-size:18px;background:#edf0e7}
.catalog-spec{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #e1e5da}.catalog-spec strong{font-size:18px;white-space:nowrap;font-weight:500}.catalog-spec span{font-size:9px;line-height:1.5;max-width:130px;color:#7b8273}
.catalog-price-block{padding:16px 0 12px}.catalog-price-block>span{font-size:9px;letter-spacing:.3px}.catalog-price-block>strong{display:block;font:28px/1.15 Georgia,serif;margin-top:5px;letter-spacing:-.4px}.catalog-price-block p{font-size:9px;line-height:1.5;margin:8px 0 0;color:#7a8172}
.catalog-plan-head{border-top:1px solid #e1e5da;padding-top:13px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between}.catalog-plan-head>strong{font-size:10px;font-weight:500}.catalog-floor-tabs{display:flex;gap:3px}.catalog-floor-tabs button{padding:7px 8px;font-size:9px;background:#f0f1e9;border-bottom:2px solid transparent}.catalog-floor-tabs button[aria-pressed="true"]{background:#e4e9dc;border-color:#60795b}
.catalog-plan-open{padding:9px 0 8px;width:100%;background:#fff;text-align:center;margin:7px 0 12px;border:1px solid #eff0e9;display:block}.catalog-plan-open img{height:132px;width:100%;object-fit:contain;display:block}.catalog-plan-open span{display:block;font-size:9px;color:#63715f;margin-top:7px}
.catalog-tour{display:block;width:100%;background:#eae4f1;color:#4c2e6c;padding:12px 14px;text-align:center;font-size:11px;border:1px solid #ded4e9}.catalog-tour:hover{background:#e1d7ec}
.catalog-card #catalog-sample-note{margin:9px 0 13px;font-size:9px!important;line-height:1.5!important}.catalog-card .primary{padding:13px 15px;font-size:11px;justify-content:center;min-height:42px}.catalog-back-map{display:none}
.plan-dialog{width:min(980px,calc(100% - 28px));max-width:980px;max-height:calc(100svh - 28px);padding:25px;overflow:auto}.plan-dialog h2{font-size:25px;margin:0 40px 5px 0}.plan-dialog p{font-size:10px;margin:0 0 14px}.plan-dialog img{display:block;max-width:100%;width:100%;height:calc(100svh - 160px);object-fit:contain;background:#fff}.plan-dialog .close-dialog{width:38px;height:38px}
@media(max-width:1050px) and (min-width:701px){.catalog-layout{gap:20px;padding:20px;grid-template-columns:minmax(0,1fr) minmax(315px,1fr)}.catalog-header{padding:20px}.catalog-card{padding:19px}.catalog-map-wrap svg{height:210px}}
@media(max-width:700px){.catalog-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px)}.catalog-header{padding:17px 18px 14px}.catalog-header h2{font-size:28px;margin-top:6px}.catalog-header .eyebrow{font-size:7px;letter-spacing:1px}.catalog-header .close-dialog{width:36px;height:36px}.catalog-layout{display:block;padding:18px}.catalog-overview>p:first-child{font-size:12px;margin-bottom:15px}.catalog-filters{gap:5px}.catalog-filters button{font-size:10px;padding:9px 10px}.catalog-map-wrap svg{height:190px}.catalog-legend{gap:12px}.catalog-legend>span{font-size:9px}.catalog-source{font-size:8px!important}.catalog-card{margin-top:22px;padding:19px;scroll-margin-top:95px}.catalog-card h3{font-size:34px}.catalog-plan-open img{height:155px}.catalog-card .primary{font-size:11px}.catalog-back-map{display:block;width:100%;padding:14px 0 0;background:transparent;font-size:10px;text-align:center}.plan-dialog{padding:22px}.plan-dialog h2{font-size:23px}}
@media(max-width:600px){.villa-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:calc(100% - 28px);gap:2px}.villa-picker button{min-width:0;padding:8px 5px;font-size:10px}.villa-picker small{font-size:5.5px;letter-spacing:.8px;white-space:nowrap}.map-catalog-link{padding:8px 3px;font-size:8px}.top-actions{gap:4px}.language-toggle{font-size:10px}}
@media(max-width:350px){.brand{min-width:124px;padding:11px}.brand-wordmark img{width:78px}.brand-wordmark>span{font-size:5px}.brand small{font-size:5px}.top-actions .icon-button{width:29px;height:29px}.villa-picker button{font-size:9px;padding:9px 3px}.villa-picker small{font-size:5px;letter-spacing:.3px}}

@media(max-width:350px){.catalog-unit-list{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Keep the walking controls inside short landscape phone screens. */
@media(max-height:500px) and (orientation:landscape){
 #app{min-height:0;height:100svh}
 .topbar{top:10px;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));gap:8px;flex-wrap:nowrap}
 .brand{min-width:120px;padding:8px 11px}.brand-wordmark img{width:85px}.brand-wordmark>span{font-size:5px}.brand small{font-size:5px;letter-spacing:1px;margin-top:4px}
 .modes{padding:3px;position:static;transform:none}.modes button{font-size:10px;gap:5px;padding:8px 9px}.modes button svg{width:16px;height:16px}
 .top-actions{gap:4px}.top-actions .icon-button{width:30px;height:30px}.contact-open{position:static;width:auto;height:34px;padding:0 10px;font-size:10px;gap:6px;border-radius:24px}
 .villa-picker{top:76px;left:max(12px,env(safe-area-inset-left));width:340px;max-width:calc(100% - 160px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}
 .villa-picker button{min-width:0;padding:6px;font-size:9px}.villa-picker small{font-size:5px;letter-spacing:.6px}
 .location-card,.outdoors .location-card{top:126px;left:max(12px,env(safe-area-inset-left));max-width:240px;padding:8px 11px}.location-card .eyebrow{font-size:7px}.location-card h1,.outdoors .location-card h1{font-size:20px;margin:6px 0}.location-card p{display:none}
 .walk-pad{bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));width:92px}#joystick{width:80px;height:80px}#joystick-thumb{width:35px;height:35px}.walk-pad small{font-size:7px;padding:4px 0}
 .minimap,.entered .minimap{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:110px}.minimap svg{height:66px}.map-heading{font-size:6px;padding:7px 7px 0;letter-spacing:.8px}.map-caption{display:none}.map-catalog-link{padding:7px 2px;font-size:7px}
 .destinations{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 260px);padding:4px;gap:0;justify-content:space-around}.destinations button{flex-direction:column;min-width:0;padding:6px 5px;font-size:9px;gap:4px}.dest-icon{width:20px;height:20px;font-size:9px}.bottom-note{display:none}
 .welcome{top:126px;bottom:auto;max-height:calc(100svh - 205px);width:330px;padding:16px}.welcome h1{font-size:31px;margin:10px 0}.welcome p{font-size:11px;margin-bottom:12px}.welcome .eyebrow{font-size:7px}.welcome .primary{padding:10px 13px}
 .toast,.villa-loading{top:125px;font-size:11px}.catalog-header{padding:12px 20px}.catalog-header h2{font-size:27px;margin:5px 0 0}.catalog-card{scroll-margin-top:95px}
}

@media(max-height:500px) and (orientation:landscape) and (max-width:600px){
 .brand{min-width:110px;padding:8px}.brand-wordmark img{width:72px}.modes button{font-size:9px;padding:7px;gap:3px}.contact-open{font-size:9px;padding:0 8px;gap:4px}.top-actions .icon-button{width:28px;height:28px}
}
