/* Original photograph remains; visual preview is separate from click selection. */
.estate-spaces .estate-map{box-sizing:border-box;width:100%;max-width:1440px;margin:0 auto var(--space-8);padding-inline:var(--detail-gutter);color:var(--rf-ink,#30332f)}
.estate-map-stage{-webkit-user-select:none;user-select:none;position:relative;isolation:isolate;width:100%;line-height:0}
.estate-map .estate-map-stage>img{display:block;width:100%;height:auto;aspect-ratio:1502/849;object-fit:contain}
.estate-map-regions{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.estate-region{fill:transparent;stroke:none;outline:none;pointer-events:all;cursor:pointer}
.estate-region:focus-visible{stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #222)}
.estate-building-reveal{display:none;pointer-events:none}
.estate-map-proxy{display:none;position:absolute;z-index:3;width:44px;height:44px;padding:0;border:0;background:transparent;transform:translate(-50%,-50%);color:transparent;cursor:pointer;font-size:0}
.estate-map-proxy:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:700px){.estate-map-proxy{display:block}.estate-region{pointer-events:all}}

/* Name-only links on the existing residence silhouette. */
.estate-map-proxy.estate-residence-name{display:flex;align-items:center;justify-content:center;width:64px;height:44px;color:#fff;font:400 12px/1.3 var(--font-body);letter-spacing:0;white-space:nowrap;text-shadow:0 1px 3px #171b18,0 0 3px #171b18;background:transparent;border:0;border-radius:0;box-shadow:none}
@media(max-width:700px){.estate-map-proxy.estate-residence-name{width:44px;font-size:10px}}

body.eg-site #main .map-space-detail[hidden]{display:none!important}

.estate-region.is-hovered,.estate-region:focus-visible{fill:rgba(239,228,191,.12);stroke:#e4d3a4;stroke-width:1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #34392e)}
.estate-region.is-selected{fill:rgba(239,228,191,.07);stroke:#d2c297;stroke-width:1;vector-effect:non-scaling-stroke}
.estate-map-proxy.is-hovered,.estate-map-proxy:focus-visible{text-decoration:underline;text-underline-offset:4px}
.estate-hover-name{position:absolute;z-index:4;transform:translate(-50%,-150%);pointer-events:none;color:#faf9f4;font:400 12px/1.4 var(--font-body);white-space:nowrap;text-shadow:0 1px 3px #171b18,0 0 3px #171b18;background:none;border:0;padding:0}
.estate-hover-name[hidden]{display:none!important}
@media(max-width:700px){.estate-hover-name{font-size:10px}}

/* Latest direction: residence names are accessible labels only, never visible over the image. */
.estate-map-proxy.estate-residence-name{color:transparent;font-size:0;text-shadow:none}

/* No decorative building outline or tint on hover or selection. */
.estate-region.is-hovered,.estate-region.is-selected,.estate-region:focus-visible{fill:transparent;stroke:none;filter:none}
.estate-map-proxy:focus-visible{outline:none}

/* Initial view keeps the approved photographs; only explanatory copy waits for a click. */
body.eg-site #main .map-space-detail.is-image-overview{grid-template-columns:minmax(0,1fr)}
body.eg-site #main .map-space-detail.is-image-overview .map-space-copy{display:none}
body.eg-site #main .map-space-detail.is-image-overview:not(:has(.map-space-photos)){display:none}

.estate-map .estate-map-stage>img{aspect-ratio:1667/943}

.estate-map-widget{position:absolute;z-index:40;left:0;top:0;box-sizing:border-box;width:min(320px,calc(100vw - 48px));margin:0;padding:20px 20px 22px;background:var(--troon-ivory,#f4f1ea);color:var(--troon-ink,#232726);border:1px solid rgba(35,39,38,.16);border-radius:2px;box-shadow:0 20px 48px rgba(20,24,20,.28),0 2px 8px rgba(20,24,20,.12);opacity:0;transform:translateY(12px);transition:opacity .22s ease,transform .3s cubic-bezier(.2,.7,.2,1);text-align:left;line-height:1.5}
.estate-map-widget.is-open{opacity:1;transform:none}
.estate-map-widget[hidden]{display:none!important}
.estate-map-widget:focus{outline:none}
.estate-map-widget:focus-visible{outline:2px solid var(--troon-ink,#232726);outline-offset:2px}
.estate-map-widget__close{position:absolute;top:6px;right:6px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--troon-ink,#232726);font:300 26px/1 var(--font-body,sans-serif);cursor:pointer}
.estate-map-widget__close:hover{background:rgba(35,39,38,.06)}
.estate-map-widget__close:focus:not(:focus-visible){outline:none}
.estate-map-widget__close:focus-visible{outline:2px solid var(--troon-ink,#232726);outline-offset:-2px}
.estate-map-widget__title{margin:0 40px 6px 0;padding:0;font:400 20px/1.4 var(--font-heading,var(--troon-font-display,serif));letter-spacing:.02em;color:inherit;word-break:keep-all;overflow-wrap:anywhere}
.estate-map-widget__text{margin:0 0 6px;font:400 15px/1.65 var(--font-body,sans-serif);color:#4a4e4a;word-break:keep-all}
.estate-map-widget__photos{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}
.estate-map-widget__photos[data-count="2"]{grid-template-columns:1fr 1fr}
.estate-map-widget__photos figure{margin:0}
.estate-map-widget__photos a{display:block;line-height:0;cursor:zoom-in}
.estate-map-widget__photos img{display:block;width:100%;height:auto;border-radius:1px}
@media (max-width:700px){
 .estate-map-widget{position:fixed;left:12px!important;right:12px;top:auto!important;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;max-height:min(70vh,560px);overflow:auto;overscroll-behavior:contain;padding:18px 18px 20px}
 .estate-map-widget__title{font-size:18px}
 .estate-map-widget__text{font-size:14px}
}
@media (prefers-reduced-motion:reduce){.estate-map-widget{transition:none;transform:none}}

.estate-lift{opacity:0;pointer-events:none;transform-box:view-box;transition:opacity .2s ease,transform .32s cubic-bezier(.2,.7,.2,1)}
.estate-lift.is-hovered,.estate-lift.is-selected{opacity:1;transform:translateY(-8px) scale(1.03)}
@media (prefers-reduced-motion:reduce){.estate-lift{transition:opacity .01s linear}.estate-lift.is-hovered,.estate-lift.is-selected{transform:none}}

.estate-map .estate-map-proxy,.estate-map .estate-map-proxy.estate-residence-name{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:max-content;max-width:10em;min-width:44px;height:auto;min-height:40px;padding:2px 6px;background:transparent;border:0;color:#fff;font:500 17px/1.2 var(--font-body);letter-spacing:.02em;text-align:center;white-space:normal;word-break:keep-all;text-shadow:0 1px 2px #141814,0 0 6px rgba(20,24,20,.9),0 0 14px rgba(20,24,20,.55);cursor:pointer}
.estate-map .estate-map-proxy::after{content:attr(aria-label)}
.estate-map .estate-hover-name{display:none!important}
/* the office and the house stand side by side: office name above its roof, house name below its own */
.estate-map .estate-map-proxy[data-region="management"]{transform:translate(calc(-50% - 6px),calc(-50% - 26px))}
.estate-map .estate-map-proxy[data-region="house"]{transform:translate(calc(-50% + 4px),calc(-50% + 24px))}
@media (max-width:1180px){.estate-map .estate-map-proxy,.estate-map .estate-map-proxy.estate-residence-name{font-size:15px}}
@media (max-width:700px){
 .estate-map .estate-map-proxy,.estate-map .estate-map-proxy.estate-residence-name{max-width:7em;min-height:44px;padding:0 2px;font-size:11px;line-height:1.15;letter-spacing:0}
 .estate-map .estate-map-proxy[data-region="management"]{transform:translate(calc(-50% - 4px),calc(-50% - 17px))}
 .estate-map .estate-map-proxy[data-region="house"]{transform:translate(calc(-50% - 10px),calc(-50% + 15px))}
}

.estate-map .estate-map-proxy{opacity:0;transition:opacity .2s ease}
.estate-map .estate-map-proxy.is-hovered,.estate-map .estate-map-proxy:focus-visible{opacity:1}
@media (hover:hover) and (pointer:fine){.estate-map .estate-map-proxy{pointer-events:none}}
@media (prefers-reduced-motion:reduce){.estate-map .estate-map-proxy{transition:none}}
