/* The agent's own social signatures, without platform-dependent glyphs. */
.agent-socials a{gap:10px}.agent-socials a img{width:28px;height:28px;flex:none;object-fit:contain}.agent-socials a:hover img{opacity:.85}
/* Photo inspection: one bounded plane, with every edge reachable by touch or pointer. */
#lightbox{width:100%;height:100svh;height:100dvh;max-height:none;padding:0;overflow:hidden;margin:0}
#lightbox[open]{display:grid;grid-template-rows:64px minmax(0,1fr) 54px 96px}
#lightbox .lightbox-top{height:auto;min-height:0}
#lightbox .lightbox-image-wrap{position:relative;display:block;min-width:0;min-height:0;height:auto;padding:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:zoom-in}
#lightbox .lightbox-image-wrap img{position:absolute;left:50%;top:50%;width:100%;height:100%;max-width:none;max-height:none;margin:0;object-fit:contain;transform-origin:center;transition:none;will-change:transform;cursor:inherit;-webkit-user-drag:none}
#lightbox .lightbox-image-wrap.is-zoomed{cursor:grab}#lightbox .lightbox-image-wrap.is-dragging.is-zoomed{cursor:grabbing}
.photo-zoom-tools{display:flex;justify-content:center;align-items:center;gap:14px;padding:5px 16px;border-bottom:1px solid #aabd9a22;font:12px var(--sans)}
.photo-zoom-tools button{border:0;background:none;color:#d3c1a1;min-width:44px;min-height:44px;display:grid;place-items:center}.photo-zoom-tools button:disabled{opacity:.35}
.photo-zoom-tools input{width:120px;height:32px;accent-color:#b49c72}.photo-zoom-tools output{min-width:35px;color:#d8ddcd}
#lightbox .lightbox-bottom{height:auto}.lightbox-top button:focus-visible,.photo-zoom-tools button:focus-visible{outline:1px solid #d3c1a1;outline-offset:2px}
/* The address, framed as another plate in the collection. */
.location{background:#e9e4d9;color:#29362f}
.location-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:10%;align-items:end;margin:46px 0 42px}
.location-heading h2{font-size:clamp(48px,5.4vw,84px);line-height:.97}.location-heading p{max-width:350px;font-size:15px;line-height:1.8;color:#687163}
.location-map-shell{border:1px solid #b5b49e;background:#172b24;position:relative;isolation:isolate}
.location-map-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;background:#172b24;color:#e9e5d7}
.location-map-top>span{font-size:12px;letter-spacing:.18em}.map-modes{display:flex;gap:0;border:1px solid #c7b68b66}
.map-modes button{min-height:44px;padding:9px 24px;border:0;background:none;color:#d7d9ca;font:13px var(--sans);letter-spacing:.02em}
.map-modes button[aria-pressed=true]{background:#cdbd9e;color:#172b24}
.location-map-canvas{height:clamp(420px,53vw,660px);position:relative;background:#c6d2ce;overflow:hidden}
#location-map{height:100%;width:100%;background:#c6d2ce;z-index:0;font-family:var(--sans)}




.location-map-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 20px;color:#c2c9b6;background:#172b24;font-size:12px;line-height:1.5}
.location-map-actions{display:flex;gap:20px;flex:none}.location-map-actions button{font:13px var(--sans);color:#eadfc9;background:none;border:0;border-bottom:1px solid #bca98299;padding:6px 0;min-height:44px}
.location-caption{display:flex;justify-content:space-between;align-items:start;gap:30px;margin-top:25px;font:13px/1.8 var(--sans);color:#687163}
.location-caption strong{color:#29362f;font-weight:400;display:block}.location-caption a{color:#29362f;border-bottom:1px solid #8c7958;padding-bottom:4px;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}




.map-open{overflow:hidden}.location-map-shell.is-expanded{position:fixed;inset:0;width:100vw;height:100svh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;z-index:10000;border:0}
.location-map-shell.is-expanded .location-map-canvas{height:100%;min-height:0}.location-map-shell.is-expanded .location-map-top{padding-top:max(16px,env(safe-area-inset-top))}.location-map-shell.is-expanded .location-map-bottom{padding-bottom:max(13px,env(safe-area-inset-bottom))}
@media(max-width:700px){
 .agent-socials{column-gap:10px}.agent-socials a{gap:7px;font-size:13px}.agent-socials a img{width:25px;height:25px}
 #lightbox[open]{grid-template-rows:60px minmax(0,1fr) 54px 122px}#lightbox .lightbox-bottom{padding:10px 16px;gap:3px 20px}#lightbox .lightbox-bottom h3{font-size:20px}#lightbox .lightbox-bottom p{font-size:11px}
 .location-heading{display:block;margin:32px 0}.location-heading h2{font-size:56px}.location-heading p{margin-top:24px;font-size:14px}
 .location-map-top{padding:12px;gap:12px}.location-map-top>span{font-size:10px;letter-spacing:.12em}.map-modes button{padding:8px 15px;font-size:12px}
 .location-map-canvas{height:480px}.location-map-bottom{padding:10px 12px;gap:12px;flex-wrap:wrap}.location-map-actions{width:100%;justify-content:space-between}
 .location-caption{gap:20px;font-size:12px;flex-wrap:wrap}.location-caption a{white-space:normal}
}
@media(orientation:landscape) and (max-height:500px){#lightbox[open]{grid-template-rows:48px minmax(0,1fr) 44px 60px}#lightbox .lightbox-bottom{padding:4px 20px;flex-wrap:nowrap}#lightbox .lightbox-bottom>div{order:0;min-width:0;max-width:none}#lightbox .lightbox-bottom h3{font-size:19px}#lightbox .lightbox-bottom p{font-size:11px}.location-map-shell.is-expanded .location-map-top{padding-block:6px}.location-map-shell.is-expanded .location-map-bottom{padding-block:4px;flex-wrap:nowrap}.location-map-actions{width:auto}}

#location-map iframe{display:block;width:100%;height:100%;border:0;background:#d9dfd9}
#location-map iframe[hidden]{display:none}

/* The private desk offers two direct channels within one discreet invitation. */
#private-desk-dialog{width:min(540px,calc(100% - 32px));max-height:calc(100svh - 32px);max-height:calc(100dvh - 32px);margin:auto;border:1px solid #bba77b55;background:#172c25;color:#f1eee6;box-shadow:0 30px 100px #0005;overflow:auto;overscroll-behavior:contain}
#private-desk-dialog::backdrop{background:#091710ba;backdrop-filter:blur(12px)}
.private-desk-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 32px;border-bottom:1px solid #bba77b33}
.private-desk-top>span{font-size:11px;letter-spacing:.16em;color:#c6b591}
#private-desk-close{border:0;background:none;color:inherit;min-height:44px;padding:8px 0 8px 15px;font:14px var(--sans)}
.private-desk-body{padding:36px 42px 32px}
.private-desk-body>.eyebrow{font-size:11px;color:#c6b591;letter-spacing:.16em}
#private-desk-title{font-size:62px;line-height:.93;margin:22px 0 24px}
#private-desk-title em{color:#c6b591}
#private-desk-intro{font-size:15px;line-height:1.7;margin:0;color:#e0e1d6}
#private-desk-intro>span{color:#aeb8a9;font-size:13px}
.private-desk-channels{display:grid;margin-top:30px;border-top:1px solid #bba77b55}
.private-desk-channels a{display:flex;align-items:center;gap:22px;min-height:94px;padding:18px 8px;border-bottom:1px solid #bba77b55;transition:background .2s,color .2s}
.private-desk-channels a:hover{background:#bba77b0d;color:#dac7a2}
.private-desk-channels svg{width:24px;height:24px;flex:0 0 24px;fill:none;stroke:#c6b591;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.private-desk-channels a>span{min-width:0}
.private-desk-channels strong{display:block;font:32px/1.15 var(--serif)}
.private-desk-channels small{display:block;margin-top:5px;font:13px/1.5 var(--sans);color:#b9c2b3;overflow-wrap:anywhere}
.private-desk-note{font:12px/1.6 var(--sans);color:#aeb8a9;margin:24px 0 0}
#private-desk-dialog a:focus-visible,#private-desk-dialog button:focus-visible{outline:1px solid #d3bf94;outline-offset:4px}
@media(max-width:600px){.private-desk-top{padding:10px 22px}.private-desk-body{padding:28px 26px 26px}#private-desk-title{font-size:52px}.private-desk-channels{margin-top:25px}.private-desk-channels a{gap:18px;min-height:88px;padding-inline:0}}
@media(prefers-reduced-motion:reduce){.private-desk-channels a{transition:none}}

/* A material detail stays anchored to the room and photograph that was selected. */
#detail-dialog.material-detail{width:min(1000px,calc(100% - 32px));padding-top:22px}
.material-detail #detail-close{position:sticky;top:0;z-index:2;padding:10px 16px;min-height:44px;margin-bottom:20px;background:var(--paper);border:1px solid #8b927955}
.text-dialog .material-context-photo{position:relative;width:100%;margin:25px 0 0;overflow:hidden;background:#ddd8cc}
.text-dialog .material-context-photo img{display:block;width:100%;height:100%;margin:0;object-fit:contain}
.material-location{position:absolute;display:grid;place-items:center;width:38px;height:38px;transform:translate(-50%,-50%);border:1px solid #f4e9cc;border-radius:50%;background:#21342a90;color:#fff6df;box-shadow:0 0 0 6px #c6b59144;font:13px var(--sans);pointer-events:none}
.text-dialog .material-context-caption{font-size:12px;letter-spacing:.08em;color:#786849;margin-top:14px}
.material-detail .material-inspect{margin-top:24px}
.material-detail .source-note{font-size:12px;line-height:1.6}
@media(max-width:600px){.material-location{width:30px;height:30px;font-size:11px;box-shadow:0 0 0 4px #c6b59144}.material-detail .detail-facts{grid-template-columns:1fr;gap:16px}.text-dialog .material-context-caption{font-size:11px}}
#lightbox.single-photo #lightbox-prev,#lightbox.single-photo #lightbox-next{display:none}
#lightbox.single-photo .lightbox-bottom{justify-content:center;text-align:center}
/* Preserve inspection gestures while suppressing native image-save callouts. */
img,video{-webkit-touch-callout:none;-webkit-user-drag:none;user-select:none}
/* Brokerage colophon, with the studio signature kept secondary. */
footer.estate-footer{padding-top:72px;padding-bottom:160px;border-top:1px solid var(--line)}
.brokerage-signature{display:flex;justify-content:center;margin-bottom:42px}
.brokerage-signature img{display:block;width:min(320px,100%);height:auto;object-fit:contain}
.brokerage-notice{max-width:1180px;margin:0 auto;color:#62675e;font-size:13px;line-height:1.9;letter-spacing:.025em;text-align:center}
.estate-footer .equal-housing{display:block;width:44px;height:44px;object-fit:contain;margin:28px auto 48px}
.edition-signature{display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid var(--line);padding-top:28px}
.edition-signature .brand{font-size:29px;line-height:1.1}
.edition-signature .brand span{font-size:10px;letter-spacing:.17em;margin-top:8px}
.edition-reference{font-size:11px;letter-spacing:.1em;color:var(--muted)}
.edition-signature button{min-height:44px;font-size:12px;color:var(--muted)}
@media(max-width:700px){footer.estate-footer{padding-top:46px;padding-bottom:140px}.brokerage-signature{margin-bottom:28px}.brokerage-signature img{width:min(280px,100%)}.brokerage-notice{font-size:12px;line-height:1.9;text-align:left;letter-spacing:.012em}.edition-signature{flex-direction:column;align-items:flex-start;gap:20px}.estate-footer .equal-housing{margin:28px auto 32px}.edition-reference{line-height:1.6}}
