.estate-tour{padding:90px 0;background:#f4f4ee;scroll-margin-top:90px}.estate-study-note{max-width:760px;margin:0 auto 28px;text-align:center;color:#54544c;font-size:14px;line-height:1.6}.estate-model-stage{position:relative;height:min(860px,90svh);min-height:620px;background:#eeeee5;border-radius:24px;overflow:hidden;border:1px solid #d8d8ce}.estate-model-stage iframe{width:100%;height:100%;border:0;display:block}.estate-model-stage iframe:not([src]){visibility:hidden}#estate-model-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;background:radial-gradient(ellipse at center,#fffef8,#deded2)}#estate-model-cover[hidden]{display:none}.estate-model-full{display:block;margin-top:20px;text-align:center;text-decoration:underline;color:#242424}#estate-model-status{max-width:480px;margin-top:16px;line-height:1.5}@media(max-width:650px){.estate-tour{padding:56px 0}.estate-model-stage{height:82svh;min-height:600px;border-radius:18px}.estate-study-note{font-size:13px}}

.booking-policy-summary{margin:24px 0;padding:20px;border:1px solid #deded6;border-radius:16px;background:#f8f8f4;color:#34342f}.booking-policy-summary h4{margin:0 0 8px}.booking-policy-summary p{margin:0;line-height:1.65;font-size:14px}

.estate-model-stage iframe:focus-visible{outline:3px solid #75866b;outline-offset:-3px}
@media(max-height:700px){.estate-model-stage{height:90svh;min-height:460px}}

.estate-tour>.container{max-width:none;padding-left:0;padding-right:0}
.estate-tour .section-header,.estate-tour .estate-study-note{padding-left:24px;padding-right:24px}
.estate-tour .estate-model-stage{width:100%;border:0;border-radius:0}
#estate-model-load[hidden]{display:none}
/* The page drives the tour; the viewer has no competing scroll document. */
.estate-tour-scroll{height:650svh;position:relative}.estate-tour-scroll .estate-model-stage{position:sticky;top:78px;height:calc(100svh - 78px);min-height:0;max-height:none;overflow:hidden}.estate-tour-scroll .estate-model-stage iframe{height:100%}
#estate-scroll-surface{position:absolute;top:0;left:0;right:0;height:calc(100% - 88px);z-index:2;touch-action:pan-y;cursor:default}#estate-model-cover{z-index:3}
@media(max-width:760px){.estate-tour-scroll .estate-model-stage{top:72px;height:calc(100svh - 72px)}#estate-scroll-surface{height:calc(100% - 112px)}}

/* Clip horizontal overflow without creating a scrolling ancestor for the tour. */
html,body{overflow-x:clip}

.estate-tour-scroll{overflow-anchor:none}

/* Native fullscreen keeps the same live viewer and selected room. */
#estate-expand{position:absolute;z-index:4;top:18px;right:24px;width:42px;height:42px;display:grid;place-items:center;border:1px solid #e0e4d7;border-radius:50%;color:#294737;background:#fffdf5e8;box-shadow:0 2px 12px #233c2510;cursor:pointer}#estate-expand:hover{background:#fff}#estate-expand:focus-visible{outline:2px solid #294737;outline-offset:3px}
.estate-model-stage:fullscreen,.estate-model-stage.is-expanded{position:fixed;inset:0;top:0!important;width:100vw!important;height:100dvh!important;min-height:0;border-radius:0;max-height:none}
#estate-expanded-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#eeeee5;overflow:hidden}#estate-expanded-dialog::backdrop{background:#eeeee5}
@media(max-width:760px){#estate-expand{top:12px;right:14px;width:38px;height:38px}}

/* Keep the iframe in the same DOM parent when using the native dialog fallback. */
#estate-expanded-dialog:not(:modal){display:contents}
