.site-nav{display:flex;gap:24px;margin-left:auto;margin-right:40px}.site-nav button{background:transparent;border:0;color:#8393a2;font:inherit;font-size:12px;padding:26px 0;position:relative}.site-nav button[aria-selected=true]{color:#dfc38e}.site-nav button[aria-selected=true]:after{content:'';position:absolute;bottom:0;height:2px;background:#b89c65;left:0;right:0}body>header .brand{font-size:19px;letter-spacing:1.6px}.estate-intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.estate-intro h1{font-size:48px;margin:8px 0}.estate-intro p:last-child{color:#8698a7;font-size:13px;margin:0;max-width:580px;line-height:1.6}.estate-badge{font-size:10px;letter-spacing:2px;color:#a78e61;border:1px solid #aa936334;padding:12px 15px;border-radius:5px}.estate-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px}.estate-plan{background:#101c27;border:1px solid #ffffff12;border-radius:12px;overflow:hidden}.estate-plan-top{padding:16px 20px;border-bottom:1px solid #ffffff10;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#9ba9b5}.estate-levels{display:flex;align-items:center;gap:6px;margin-bottom:18px;flex-wrap:wrap}.estate-levels>span{font-size:9px;letter-spacing:2px;color:#738698;margin-right:16px}.estate-levels button{background:#142330;border:1px solid #53616b55;color:#93a4b4;border-radius:5px;font:inherit;font-size:11px;padding:10px 16px}.estate-levels button[aria-pressed=true]{color:#eed7a6;border-color:#ba9e6277;background:#a88e5b20}.estate-viewport{height:min(70vh,750px);min-height:460px;overflow:auto;scrollbar-width:thin;scrollbar-color:#344857 #101c27;cursor:grab;background-image:radial-gradient(#4f6e8633 .7px,transparent .7px);background-size:22px 22px;touch-action:pan-x pan-y}.estate-stage{width:100%;min-width:670px;padding:10px}.estate-stage svg{display:block;width:100%;height:auto;user-select:none}.estate-stage .perimeter{fill:none;stroke:#67816e44;stroke-width:2;stroke-dasharray:7 7}.estate-stage .wing-shell{fill:#162634;stroke:#61717d70;stroke-width:1.4}.estate-stage .wing-heading{fill:#d6c299;font-family:'DM Sans',sans-serif;font-weight:500;font-size:15px;letter-spacing:1px}.estate-stage .wing-tag{fill:#708797;font-size:9px;letter-spacing:1.5px}.estate-stage .room rect{fill:#223646;stroke:#657c8d77;stroke-width:1}.estate-stage .room.north rect{fill:#233542}.estate-stage .room.east rect{fill:#32353b;stroke:#b5a16d60}.estate-stage .room.west rect{fill:#203d40;stroke:#648f8b80}.estate-stage .room.central rect{fill:#283848}.estate-stage .room.outdoor rect{fill:#20342d;stroke:#698b655f}.estate-stage .room{cursor:pointer;outline:none}.estate-stage .room:hover rect,.estate-stage .room:focus-visible rect{fill:#465146;stroke:#d5b77a;stroke-width:2}.estate-stage .room.selected rect{fill:#615239;stroke:#e2c087;stroke-width:2}.estate-stage .room-name{fill:#d9e1e5;font-family:'DM Sans',sans-serif;font-size:12px;pointer-events:none}.estate-stage .resident-dot{fill:#d2b67d}.estate-stage .passage{stroke:#72808866;stroke-width:24;fill:none}.estate-stage .corridor{fill:#38454b}.estate-stage .courtyard{fill:#223a2e55;stroke:#64826955;stroke-dasharray:4 5}.estate-stage .garden-label{fill:#7e9b82;font-size:11px;letter-spacing:3px}.estate-stage .garden-path{stroke:#7d8b6577;stroke-dasharray:5 6;fill:none;stroke-width:3}.estate-stage .unmapped{fill:#0f1a24;stroke:#54616b44;stroke-dasharray:4 4}.estate-stage .map-note{fill:#748b9c;font-size:12px}.estate-stage .north-mark{font-size:14px;fill:#c0ac7b}.estate-controls{padding:12px 18px;display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ffffff10}.estate-controls span{color:#7790a1;font-size:10px;align-self:center}.estate-controls button{font:inherit;padding:5px 12px;border:1px solid #54677766;background:#1b2b38;color:#d8c39a;border-radius:4px}.estate-detail{align-self:start;position:sticky;top:20px;background:linear-gradient(130deg,#233744,#14232f);border:1px solid #ffffff13;border-radius:12px;padding:24px;min-height:290px}.estate-detail h3{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:400;line-height:1.1;color:#e4d0a8;margin:16px 0}.estate-detail p:not(.eyebrow){font-size:13px;color:#b5c3cf;line-height:1.8}.estate-detail small{display:block;font-size:10px;line-height:1.7;color:#758b9d;margin-top:24px}.resident-link{font:inherit;font-size:11px;color:#e1c994;background:#af955b18;border:1px solid #af955b66;border-radius:5px;padding:10px 12px;margin-top:15px}.estate-footnote{font-size:10px;color:#60798d;line-height:1.7;margin:16px 0}.estate-legend{display:flex;flex-wrap:wrap;gap:16px;color:#8ca0af;font-size:10px;margin-top:16px}.estate-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;background:#283848}.estate-legend .res{background:#b5a16d}.estate-legend .well{background:#648f8b}.estate-legend .outdoor{background:#698b65}@media(max-width:900px){.estate-layout{grid-template-columns:1fr}.estate-detail{position:static}.estate-badge{display:none}.site-nav{gap:15px;margin-right:0}.private{display:none}body>header .brand{font-size:15px}.estate-intro h1{font-size:40px}.estate-levels button{padding:9px 11px}.estate-viewport{height:65vh}}@media(max-width:600px){body>header{padding:0 15px}.brand small{font-size:7px;letter-spacing:1px}.brand .crest{display:none}.site-nav{gap:12px}.site-nav button{font-size:11px}.estate-stage{min-width:720px}.estate-intro h1{font-size:36px}.estate-levels>span{display:none}.estate-controls span{font-size:9px}}
/* Architectural edition */
.estate-wing-focus{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 18px}.estate-wing-focus button{font:inherit;font-size:11px;color:#90a3b2;background:none;border:1px solid transparent;padding:8px 14px;border-radius:20px}.estate-wing-focus button[aria-pressed=true]{border-color:#b9a16b66;color:#e4cfa2;background:#a68d5b12}.estate-stage{min-width:0;padding:18px}.estate-viewport{height:76vh;max-height:900px;scrollbar-width:none}.estate-viewport::-webkit-scrollbar{display:none}.estate-plan-top{background:#13212c}.estate-layout{grid-template-columns:minmax(0,1fr) 260px}.estate-stage .estate-boundary{fill:#1b3027;stroke:#7b8d6960;stroke-width:3;stroke-dasharray:12 8}.estate-stage .shore-line{fill:none;stroke:#43687566;stroke-width:9}.estate-stage .water-label{fill:#4d7180;font-size:14px;letter-spacing:5px}.estate-stage .wing-shell{fill:#172631;stroke:#a8a492;stroke-width:6}.estate-stage .wing-heading{font-size:18px;letter-spacing:1.6px;fill:#d7c298}.estate-stage .wing-tag{font-size:9px;letter-spacing:1.3px;fill:#7e98a8}.estate-stage .room>.room-floor{fill:#263947;stroke:#a3a394;stroke-width:3}.estate-stage .room.east>.room-floor{fill:#333a3c}.estate-stage .room.west>.room-floor{fill:#263c3d}.estate-stage .room.north>.room-floor{fill:#273b49}.estate-stage .room.outdoor>.room-floor{fill:#23382f;stroke:#6c8a68;stroke-width:2}.estate-stage .room.selected>.room-floor{fill:#665739;stroke:#e0c389;stroke-width:3}.estate-stage .room:hover>.room-floor,.estate-stage .room:focus-visible>.room-floor{fill:#485147;stroke:#ddc38a;stroke-width:3}.estate-stage .room-name{font-size:16px;font-weight:400;fill:#e0e4df;pointer-events:none}.estate-stage .furnishing{pointer-events:none;opacity:.48}.estate-stage .fixture{stroke:#b5bdae;fill:none;stroke-width:1.7}.estate-stage .room.selected .fixture{stroke:#f2dba7}.estate-stage .corridor{fill:#b4a38317;stroke:none}.estate-stage .corridor-text{fill:#aa9f7d;font-size:10px;letter-spacing:3px;pointer-events:none}.estate-stage .door-gap{stroke:#24343d;stroke-width:6;fill:none}.estate-stage .door-swing{stroke:#c8b789;stroke-width:1.4;fill:none;pointer-events:none}.estate-stage .window-glass{stroke:#8cb8c5;stroke-width:4;fill:none;pointer-events:none}.estate-stage .stair-core{fill:#34424a;stroke:#969c8d;stroke-width:2}.estate-stage .stair-line{stroke:#a7b0a0;stroke-width:1;fill:none}.estate-stage .core-label{font-size:8px;fill:#bbbaa6;letter-spacing:1px}.estate-stage .wing-focus-target{fill:transparent;cursor:zoom-in;stroke:none}.estate-stage .wing-focus-target:focus-visible{stroke:#dbc184;stroke-width:2}.estate-stage .roof-area{fill:#192a2e;stroke:#73816e;stroke-dasharray:8 8;stroke-width:2}.estate-stage .landscape-outline{fill:#20372b35;stroke:#55715c55;stroke-width:2;stroke-dasharray:6 8}.estate-stage .tree-crown{fill:#2e4b38;stroke:#6a826051;stroke-width:1}.estate-stage .tree-inner{fill:#405b3c;opacity:.5}.estate-stage .passage{stroke:#9a998070;stroke-width:36;fill:none;stroke-linejoin:round}.estate-stage .garden-path{stroke:#887f5b88;stroke-width:8;stroke-dasharray:6 8;fill:none}.estate-stage .entry-steps{fill:#344440;stroke:#b0a58c;stroke-width:2}.estate-stage .north-mark{font-size:24px;fill:#baad89}.room-status{display:inline-block;border:1px solid #b39c6550;border-radius:3px;padding:5px 8px;color:#c4ad7e;font-size:9px;letter-spacing:1px;text-transform:uppercase}.room-status.original{color:#a8bdad;border-color:#77977e55}.estate-detail{position:sticky;top:20px}.estate-intro .estate-badge{line-height:1.8;text-align:right}.estate-detail p:not(.eyebrow){font-size:12px}.estate-detail h3{font-size:29px}.estate-footnote{max-width:1000px}@media(max-width:900px){.estate-layout{grid-template-columns:1fr}.estate-detail{position:static}.estate-stage{min-width:660px}.estate-viewport{height:65vh;min-height:400px}}@media(prefers-reduced-motion:no-preference){.estate-stage .room>.room-floor{transition:fill .15s}}
.estate-stage .room .furnishing .fixture{fill:none;stroke:#aebdad;stroke-width:1.7}.estate-stage .room.selected .furnishing .fixture{fill:none;stroke:#f2dba7}.estate-stage .room .furnishing{pointer-events:none}
.estate-stage .open-water{fill:#183e5366;stroke:none}.estate-stage .water-wave{stroke:#79a6b433;stroke-width:2;fill:none}.estate-stage .vehicle-drive{stroke:#8c8e83;stroke-width:30;fill:none;stroke-linejoin:round}.estate-stage .underground-pass{stroke:#84918a;stroke-width:32;fill:none;stroke-linejoin:round}.estate-stage .route-label{font-size:14px;fill:#c1b697;letter-spacing:1px}.estate-stage .room .interior-divider{fill:none;stroke:#b8b29770;stroke-width:1.5;stroke-dasharray:4 5}.estate-stage .zone-label{font-size:12px;fill:#c6c5b3;pointer-events:none}.estate-stage .room .internal-door-clear{fill:#263947;stroke:none}.estate-wing-focus button:disabled{opacity:.3;cursor:default}
.estate-stage .garage-opening{stroke:#26352e;stroke-width:9;fill:none}
.estate-stage .vehicle-drive{stroke:#626f6c88;stroke-width:24;stroke-linecap:round;stroke-linejoin:round}.estate-stage .garage-opening,.estate-stage .vehicle-breach{stroke:#172631;stroke-width:12;fill:none}.estate-stage .parking-lane{stroke:#8e9788;stroke-width:2;fill:none}.estate-stage .garage-access-label{fill:#c4b998;font-size:9px;letter-spacing:1.2px}.estate-stage .open-wall-gap{stroke:#3d4d4b;stroke-width:9;fill:none;pointer-events:none}.estate-stage .room.central .open-wall-gap{stroke:#364047}.estate-stage .room.east .open-wall-gap{stroke:#393e40}.estate-stage .room.west .open-wall-gap{stroke:#2d3f3f}.estate-stage .grand-stair{fill:#554c3a;stroke:#c5ad79;stroke-width:2}.estate-stage .grand-stair-line{stroke:#d8c6a0;stroke-width:2;fill:none}.estate-stage .room .pool-island{fill:#45584e;stroke:#d1bd8f;stroke-width:2}.estate-stage .room .pool-chair{fill:#496465;stroke:#9daea5;stroke-width:1.2}.estate-stage .room .pool-cabana{fill:#516460;stroke:#c3bb9d;stroke-width:1.4}.estate-stage .pool-detail{fill:#e5d3a4;font-size:8px;letter-spacing:1px}.estate-stage .room.beach>.room-floor{fill:#b6a57d;stroke:#c8bc9d;stroke-width:2}.estate-stage .room.beach .room-name{fill:#243d41;font-size:18px;letter-spacing:2px}.estate-stage .room.promenade>.room-floor{fill:#839389;stroke:#c7bb9a}.estate-stage .room.promenade .room-name{font-size:10px;writing-mode:vertical-rl}.estate-stage .room.outdoor-deck>.room-floor{fill:#253a36;stroke-dasharray:9 5}.estate-stage .room.overlay-room>.room-floor{fill:#354453;stroke:#c6b387}.estate-stage .room.open-area .room-name{font-weight:500}
.estate-stage .surf-line{fill:none;stroke:#a9c7c099;stroke-width:7;stroke-linecap:round;stroke-dasharray:80 35 150 30}
.estate-stage .service-wall-gap,.estate-stage .garage-access-gap{fill:none;stroke:#172631;stroke-width:12}
.estate-stage .sand-shore{fill:#aa987655;stroke:none}.estate-stage .room.beach>.room-floor{fill:#a99877;stroke:#c8b992;stroke-width:2}.estate-stage .room.beach-club>.room-floor{fill:#4a5348;stroke:#d3b985;stroke-width:2.5}.estate-stage .room.beach-club .room-name{fill:#e8d4aa;font-weight:600;letter-spacing:1px}.estate-stage .lift-core{fill:#364c53;stroke:#c9b48b;stroke-width:2}.estate-stage .lift-seam{fill:none;stroke:#abbeaf;stroke-width:1.5}.estate-stage .lift-label{fill:#e0d0ac;font-size:8px;letter-spacing:1px;pointer-events:none}
.estate-plan{position:relative}.estate-levels{position:absolute;z-index:8;top:64px;right:16px;display:flex;flex-direction:column;gap:5px;margin:0;padding:7px;border:1px solid #a98e6255;border-radius:12px;background:#10212be8;box-shadow:0 10px 24px #06101999;backdrop-filter:blur(9px)}.estate-levels button{width:38px;height:38px;padding:0;display:grid;place-items:center;border-radius:7px;font-size:13px;font-weight:600;line-height:1}.estate-levels button[aria-pressed=true]{background:#b69b6940;border-color:#d4b77b;color:#f7e4ba}.estate-viewport{overscroll-behavior:contain;touch-action:none}@media(max-width:900px){.estate-levels{right:10px;top:58px;padding:5px}.estate-levels button{width:34px;height:34px;font-size:12px}}
.estate-book-filter{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:3px 0 15px}.estate-book-filter span{font-size:10px;letter-spacing:1.8px;color:#a69b80;margin-right:7px}.estate-book-filter button{font:inherit;font-size:11px;color:#9cacb8;background:#142632;border:1px solid #66778566;border-radius:6px;padding:8px 14px;cursor:pointer}.estate-book-filter button[aria-pressed=true]{color:#f3dfb1;background:#a7905d26;border-color:#c6aa72}.estate-book-filter button:hover{border-color:#c6aa72aa}
.estate-stage .feature-lap-pool>.room-floor{fill:#53675e;stroke:#c6b387;stroke-width:3}.estate-stage .pool-water{fill:#337b83;stroke:#a9d3c4;stroke-width:4}.estate-stage .pool-lane{stroke:#d8e6d366;stroke-width:2;stroke-dasharray:8 8}.estate-stage .pool-cabana{fill:#6a715f;stroke:#d6c39b;stroke-width:2}.estate-stage .pool-lounger{fill:#c8b88f;stroke:#eee0bb;stroke-width:1.5}.estate-stage .feature-grand-lawn>.room-floor{fill:#354e3c;stroke:#8a9b78;stroke-width:3}.estate-stage .artificial-lake{fill:#397b83;stroke:#aed0bd;stroke-width:3}.estate-stage .lake-shore{fill:none;stroke:#d1c49b;stroke-width:8}.estate-stage .lawn-path{fill:none;stroke:#c7b98e;stroke-width:5;stroke-dasharray:5 5}.estate-stage .feature-orchard>.room-floor{fill:#314a38;stroke:#819370;stroke-width:3}.estate-stage .orchard-tree{fill:#486747;stroke:#92a27a;stroke-width:2}.estate-stage .orchard-crown{fill:#66804e;opacity:.9}.estate-stage .orchard-path{fill:none;stroke:#c4b58c;stroke-width:8;stroke-linecap:round}
.estate-stage .room.outdoor-deck.feature-lap-pool>.room-floor,.estate-stage .room.outdoor-deck.feature-grand-lawn>.room-floor,.estate-stage .room.outdoor-deck.feature-orchard>.room-floor{stroke-dasharray:none}
.estate-stage .room.feature-lap-pool>.pool-water{fill:#238cbb;stroke:#a6dcdf;stroke-width:5}.estate-stage .room.feature-grand-lawn>.artificial-lake{fill:#287faf;stroke:#b7ddd8;stroke-width:9}
.estate-stage .pavilion-shell{fill:#172631;stroke:#a8a492;stroke-width:6;stroke-linejoin:round}.estate-stage .pavilion-corridor,.estate-stage .pavilion-upper-link{fill:#b4a38317;stroke:none}.estate-stage .pavilion-roof-label{fill:#a8b9ae;font-size:14px;letter-spacing:3px}.estate-stage .room.pavilion>.room-floor{fill:#333a3c;stroke:#a3a394;stroke-width:3}.estate-stage .room.pavilion.outdoor-deck>.room-floor{fill:#304e4b;stroke-dasharray:none}.estate-stage .room.pavilion.feature-bay-garden>.room-floor{fill:#264839;stroke:#8db299;stroke-width:2;stroke-dasharray:none}.estate-stage .room.pavilion>.pavilion-pond{fill:#277b99;stroke:#aad2ca;stroke-width:3}.estate-stage .room.pavilion>.pavilion-planting{fill:#477752;stroke:#91ac78;stroke-width:2}.estate-stage .pavilion-garden-link{fill:#567b6c;stroke:#b3b99a;stroke-width:1}.estate-stage .room.pavilion.feature-bay-garden .room-name{fill:#f0f4e7;font-size:16px}
.estate-stage .pavilion-link{fill:none;stroke:#9a998070;stroke-width:36;stroke-linecap:butt}.estate-stage .room.pavilion .open-wall-gap{stroke:#333a3c}
.estate-stage .room.feature-lap-pool>.pool-water{fill:#548b9a;stroke:#9abdc1;stroke-width:4}
.estate-stage .room.feature-grand-lawn>.artificial-lake{fill:#4d8193;stroke:#9eb9b4;stroke-width:6}
.estate-stage .room.pavilion.feature-pavilion-pool>.room-floor{fill:#334b4e;stroke:#a6aaa0;stroke-width:3}
.estate-stage .room.pavilion.feature-pavilion-pool>.pool-water{fill:#548b9a;stroke:#9abdc1;stroke-width:3}
.estate-stage .ground-entry-gap,.estate-stage .pavilion-entry-gap{fill:none;stroke:#172631;stroke-width:10}
.estate-stage .room.pavilion.feature-c-pool>.room-floor{fill:#334b4e;stroke:#a6aaa0;stroke-width:3;stroke-dasharray:none}
.estate-stage .room.pavilion.feature-c-pool>.pool-water{fill:#548b9a;stroke:#9abdc1;stroke-width:3;fill-rule:evenodd}
.estate-stage .room.pavilion.feature-c-pool .room-name{font-size:15px}
.estate-stage .room.equestrian-arena>.room-floor{fill:#655543;stroke:#b9a57e;stroke-width:3;stroke-dasharray:none}
.estate-stage .room.garage.feature-expanded-garage>.room-floor{fill-rule:evenodd;stroke:#a3a394;stroke-width:3}
.estate-stage .room.equestrian-building>.room-floor{fill:#35443e;stroke:#b4a380;stroke-width:3;stroke-dasharray:none}
.estate-stage .room.paddock>.room-floor{fill:#334b38;stroke:#9cae87;stroke-width:3;stroke-dasharray:none}
.estate-stage .west-residence-shell{fill:#172631;stroke:#a8a492;stroke-width:6;stroke-linejoin:round}
.estate-stage .room.feature-amphitheater>.room-floor{fill:#334439;stroke:#91a38a;stroke-width:3;stroke-dasharray:none}
.estate-stage .amphitheater-seating{fill:#607064;stroke:#b9b99d;stroke-width:3}
.estate-stage .amphitheater-tier{fill:none;stroke:#c4c6af;stroke-width:3}
.estate-stage .amphitheater-stage{fill:#6a5b47;stroke:#d1bd96;stroke-width:3}
.estate-stage .room.feature-amphitheater .room-name{fill:#eee5d3;font-size:16px}
.estate-stage .room.feature-boathouse>.room-floor{fill:#2d484b;stroke:#90aeb0;stroke-width:3;stroke-dasharray:none}
.estate-stage .room.feature-automotive>.room-floor{fill:#303e43;stroke:#b2a98f;stroke-width:3}
.estate-stage .west-residence-corridor{fill:#b4a38317}
.estate-stage .west-residence-entry-gap{fill:none;stroke:#172631;stroke-width:10}
.estate-stage .room.west-residence>.room-floor{fill:#333a3c;stroke:#b5a16d75;stroke-width:3}
.estate-stage .room.west-residence.outdoor-deck>.room-floor{fill:#23382f;stroke:#7e9a78;stroke-dasharray:none}
.estate-stage .room.west-residence[aria-label^='Rooftop Helipad']>.room-floor{fill:#3c4a49;stroke:#c1b38e;stroke-width:4;stroke-dasharray:none}
.estate-stage .room.west-residence.selected>.room-floor{fill:#665739;stroke:#e0c389}
.estate-stage .room.west-residence:hover>.room-floor{fill:#485147;stroke:#ddc38a}
.estate-stage .room.beach{pointer-events:none;cursor:default}
.estate-stage .room.feature-moon-garden>.room-floor{fill:#314438;stroke:#91a387;stroke-width:3;stroke-dasharray:none}
.estate-stage .room.feature-sculpture-garden>.room-floor{fill:#304736;stroke:#8d9c7b;stroke-width:2;stroke-dasharray:none}
.estate-stage .room.feature-sunset-pier>.room-floor{fill:#61716b;stroke:#c7b998;stroke-width:3;stroke-dasharray:none}
.estate-stage .room.feature-fire-terrace>.room-floor{fill:#3e453b;stroke:#b5a27e;stroke-width:3;stroke-dasharray:none}
.estate-stage .room.feature-archery>.room-floor{fill:#30413b;stroke:#91a387;stroke-width:3;stroke-dasharray:none}
.estate-stage .room.feature-watersports>.room-floor{fill:#2b4246;stroke:#9daea8;stroke-width:3}
.estate-stage .sculpture-plinth{fill:#a7997b;stroke:#d0bea0;stroke-width:2}.estate-stage .sculpture-mark{fill:none;stroke:#d8c8ae;stroke-width:5}
.estate-stage .moon-mark{fill:#bbbd9f;stroke:none}.estate-stage .fire-ring{fill:#5b5140;stroke:#bda783;stroke-width:4}.estate-stage .fire-mark{fill:#bd8357;stroke:#e5b47d;stroke-width:2}
.estate-stage .room:not(.beach):is(:hover,:focus-visible)>.room-floor,.estate-stage .room:not(.beach).selected>.room-floor{fill:#526454;stroke:#e6c98e;stroke-width:4;filter:brightness(1.18)}
.estate-stage .room:is(:hover,:focus-visible,.selected)>.pool-water,.estate-stage .room:is(:hover,:focus-visible,.selected)>.artificial-lake,.estate-stage .room:is(:hover,:focus-visible,.selected)>.amphitheater-seating,.estate-stage .room:is(:hover,:focus-visible,.selected)>.amphitheater-stage{filter:brightness(1.3);stroke:#e6c98e}
@media(prefers-reduced-motion:no-preference){.estate-stage .room>.room-floor,.estate-stage .room>.pool-water,.estate-stage .room>.artificial-lake,.estate-stage .room>.amphitheater-seating,.estate-stage .room>.amphitheater-stage{transition:fill .18s ease,stroke .18s ease,filter .18s ease}}
.estate-stage .room.feature-memorial-grove>.room-floor{fill:#264536;stroke:#749776;stroke-width:2}.estate-stage .room.feature-cliff-side>.room-floor{fill:#354a46;stroke:#92aa9d;stroke-width:2}.estate-stage .room.feature-octagon-pagoda>.room-floor{fill:#344942;stroke:#c8b58f;stroke-width:3}
.estate-stage .room.feature-vineyard>.room-floor{fill:#344a35;stroke:#829772;stroke-width:2;stroke-dasharray:none}
.estate-stage .roundabout-fountain{fill:#34676a;stroke:#c7b993;stroke-width:5}.estate-stage .fountain-basin{fill:#668c84;stroke:#b7d1bb;stroke-width:3}.estate-stage .room.feature-driving-range>.room-floor{fill:#2c4536;stroke:#819b77;stroke-width:2;stroke-dasharray:none}
.estate-stage .room>.room-floor,.estate-stage .room.outdoor-deck>.room-floor{stroke-dasharray:none}
.estate-stage .vehicle-turntable{fill:#2c454a;stroke:#c2b491;stroke-width:4;pointer-events:none}.estate-stage .vehicle-turntable-inner{fill:none;stroke:#829d9a;stroke-width:2;stroke-dasharray:8 5;pointer-events:none}.estate-stage .turntable-label{fill:#dacba6;font-size:10px;letter-spacing:1px;pointer-events:none}
.estate-viewport{display:flex;flex-direction:column}.estate-stage{flex:none;margin:auto}
.atlas-jump{flex:none;align-self:flex-start;margin:0 0 14px;padding:10px 16px;border:1px solid #b39c6566;border-radius:5px;background:#af955b18;color:#e1c994;font:inherit;cursor:pointer}
/* Keep every panel scrollable without showing a scrollbar. */
html,body,body *{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,body *::-webkit-scrollbar{display:none;width:0;height:0}
.estate-book-filter{display:flex;align-items:center;gap:14px;margin:3px 0 15px}
.estate-book-filter label{font-size:10px;letter-spacing:1.8px;color:#a69b80}
.estate-book-filter select{appearance:none;min-width:245px;max-width:100%;padding:10px 38px 10px 14px;border:1px solid #9f8d665c;border-radius:7px;color:#ead7ac;background:#142632 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23d5bc87' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 13px center;font:inherit;font-size:12px;cursor:pointer}
.estate-book-filter select:hover,.estate-book-filter select:focus-visible{border-color:#c6aa72;outline:none}
.estate-book-filter option{color:#ead7ac;background:#142632}
@media(max-width:560px){.estate-book-filter{align-items:stretch;flex-direction:column;gap:7px}.estate-book-filter select{width:100%}}
.estate-layout{grid-template-columns:minmax(0,1fr) 540px}
@media(max-width:1150px){.estate-layout{grid-template-columns:1fr}.estate-detail{position:static}}
.estate-book-filter{position:relative;z-index:12}
.estate-book-filter>span{font-size:10px;letter-spacing:1.8px;color:#a69b80;margin-right:7px}
.estate-book-picker{position:relative;width:min(330px,100%)}
.estate-book-picker>#estateBookButton{width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 15px;border:1px solid #9f8d665c;border-radius:8px;background:#142632;color:#ead7ac;text-align:left;font:inherit;font-size:12px;cursor:pointer}
.estate-book-picker>#estateBookButton:hover,.estate-book-picker>#estateBookButton[aria-expanded=true]{border-color:#c6aa72;background:#192e3b}
.estate-book-picker>#estateBookButton:focus-visible,.estate-book-picker #estateBookMenu button:focus-visible{outline:2px solid #d4b877;outline-offset:2px}
.book-chevron{width:8px;height:8px;border-right:1.5px solid #d5bc87;border-bottom:1.5px solid #d5bc87;transform:rotate(45deg);transition:transform .2s;flex:none;margin-left:16px;margin-top:-4px}
#estateBookButton[aria-expanded=true] .book-chevron{transform:rotate(225deg);margin-top:4px}
#estateBookMenu:not([hidden]){position:absolute;top:calc(100% + 7px);left:0;right:0;display:grid;gap:3px;max-height:min(440px,60vh);overflow-y:auto;padding:7px;border:1px solid #a792665c;border-radius:10px;background:#142632;box-shadow:0 18px 45px #030d19bc}
.estate-book-picker #estateBookMenu button{width:100%;padding:10px 13px;border:0;border-radius:6px;background:transparent;color:#c1ced4;font:inherit;font-size:12px;text-align:left;cursor:pointer}
.estate-book-picker #estateBookMenu button:hover,.estate-book-picker #estateBookMenu button:focus-visible{background:#344438;color:#f4e2ba}
.estate-book-picker #estateBookMenu button[aria-selected=true]{background:#9e855735;color:#f5dfaa}
@media(max-width:560px){.estate-book-picker{width:100%}}
@keyframes room-hover-pulse{0%,100%{filter:brightness(1.12) drop-shadow(0 0 1px #d9bb79);opacity:.9}50%{filter:brightness(1.8) drop-shadow(0 0 10px #f1d18a);opacity:1}}
@media(prefers-reduced-motion:no-preference){.estate-stage .room:not(.beach):not(.selected):hover>.room-floor,.estate-stage .room:not(.beach):not(.selected):hover>.pool-water,.estate-stage .room:not(.beach):not(.selected):hover>.artificial-lake,.estate-stage .room:not(.beach):not(.selected):hover>.amphitheater-seating,.estate-stage .room:not(.beach):not(.selected):hover>.amphitheater-stage{animation:room-hover-pulse 1.05s ease-in-out infinite}}

.suite-image-button{display:block;width:100%;padding:0;margin:20px 0;border:1px solid #b49a6350;border-radius:12px;overflow:hidden;background:#171c19;cursor:zoom-in}.suite-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.suite-image-button:focus-visible{outline:2px solid #c8ad75;outline-offset:4px}.suite-image-dialog{width:min(1440px,96vw);max-width:96vw;max-height:94dvh;padding:12px;border:1px solid #b49a6370;border-radius:16px;background:#151b18;color:#eee;overflow:auto}.suite-image-dialog::backdrop{background:#000c}.suite-image-dialog .suite-image{height:auto;max-height:82dvh;object-fit:contain}.suite-image-dialog p{margin:12px 6px 2px}.suite-image-close{position:absolute;right:20px;top:20px;width:40px;height:40px;border:1px solid #ffffff60;border-radius:50%;background:#151b18e6;color:#fff;font-size:28px;cursor:pointer}

/* Extra scroll room lets the south facade sit at the viewport center on first open. */
.estate-stage{padding-bottom:140px}

/* Optional interactive Three.js estate view */
.estate-plan-heading{display:flex;align-items:center;gap:18px}
.estate-view-switch{display:none!important;align-items:center;gap:3px;padding:3px;border:1px solid #53667566;border-radius:7px;background:#101c27}
.estate-view-switch button{min-width:36px;padding:6px 9px;border:0;border-radius:5px;background:transparent;color:#8fa0ad;font:inherit;font-size:10px;letter-spacing:1px;cursor:pointer}
.estate-view-switch button[aria-pressed=true]{color:#f0d8a5;background:#a98e5b2e}
.estate-view-switch button:focus-visible,.estate-3d-viewport~.estate-controls button:focus-visible{outline:2px solid #d5ba7d;outline-offset:2px}
.estate-3d-viewport{position:relative;height:min(76vh,900px);min-height:460px;overflow:hidden;background:#182631;touch-action:none}
.estate-3d-viewport[hidden]{display:none!important}
.estate-3d-canvas-host{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 50% 58%,#293945 0,#1b2934 58%,#15212b 100%)}
.estate-3d-canvas,.estate-3d-label-layer{position:absolute;inset:0;width:100%;height:100%;display:block}
.estate-3d-canvas{touch-action:none;outline:none}
.estate-3d-label-layer{pointer-events:none;overflow:hidden}
.estate-3d-label{display:block;max-width:150px;padding:2px 5px;border:1px solid #aeb9bd24;border-radius:3px;background:#182631b8;color:#e2d4b4;font:500 10px/1.2 'DM Sans',sans-serif;letter-spacing:.2px;text-align:center;text-shadow:0 1px 2px #101820;white-space:nowrap;transform:translate(-50%,-50%)}
.estate-3d-north{position:absolute;top:16px;left:18px;right:auto;display:flex;flex-direction:column;align-items:center;gap:2px;color:#d6c398;font-size:10px;letter-spacing:2px;pointer-events:none;text-shadow:0 1px 4px #111}
.estate-3d-north span{font-size:18px;line-height:1}
.estate-plan .estate-controls{align-items:center;min-height:47px}
#estate3DControls{display:flex;align-items:center;gap:12px}
#estate3DControls[hidden]{display:none!important}
#estate3DControls button{white-space:nowrap}
#estate3DStatus:empty{display:none}
@media(max-width:900px){.estate-3d-viewport{height:65vh;min-height:400px}.estate-plan-heading{gap:10px}}
@media(max-width:600px){.estate-plan-top{padding:13px 14px}.estate-plan-heading{gap:8px}.estate-view-switch button{min-width:32px;padding:6px 7px}.estate-3d-viewport{height:62vh;min-height:360px}.estate-3d-label{max-width:116px;padding:2px 3px;font-size:8px}.estate-plan .estate-controls{padding:10px 12px;flex-wrap:wrap}.estate-plan .estate-controls>span{max-width:48%;line-height:1.5}#estate3DControls{gap:8px}#estate3DControls>span{max-width:175px}}
@media(prefers-reduced-motion:reduce){.estate-view-switch button{scroll-behavior:auto}}
