:root{--ink:#575756;--forest:#6b7644;--muted:#777870;--paper:#f7f7f4;--line:#dedfd9;--accent:#97a078;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:16px}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,#canvasHost:focus-visible{outline:3px solid #7d865f;outline-offset:4px}button{border:0;background:none}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line);background:#fcfdf9;position:relative;z-index:5}.identity{display:flex;align-items:center;gap:12px}.brandmark{background:var(--forest);color:#f4f7e8;width:43px;height:43px;display:grid;place-items:center;font-family:Georgia,serif;font-size:36px;line-height:1;border-radius:12px 2px 12px 2px;padding-bottom:5px}.identity strong{display:block;font-size:16px;letter-spacing:.17em}.identity small{display:block;font-size:12px;letter-spacing:.24em;margin-top:6px}.view-tabs{display:flex;padding:4px;background:#edf0e9;border-radius:30px;gap:2px}.view-tabs button{padding:11px 21px;border-radius:24px;font-size:14px;transition:background .2s}.view-tabs button.active{background:var(--forest);color:white;box-shadow:0 3px 10px #122b2018}.source-badge{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted)}.small-dot{width:6px;height:6px;border-radius:50%;background:#a6ad96}.experience{height:calc(100dvh - 86px);min-height:650px;display:grid;grid-template-columns:minmax(0,1fr) 356px}.stage{position:relative;min-width:0;background:#eaece2;overflow:hidden}.view-panel{position:relative;width:100%;height:100%;min-height:600px}#canvasHost{position:absolute;inset:0;touch-action:none}canvas{display:block;width:100%;height:100%}.stage-title{position:absolute;left:35px;top:32px;pointer-events:none}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;line-height:1.5}.stage-title .eyebrow{font-size:12px;color:#6b7644}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,3.1vw,51px);line-height:1.1;font-weight:normal;margin:12px 0;letter-spacing:-.045em}h1 em,h2 em{font-weight:normal;color:#7d865f}.scene-label{position:absolute;left:34px;bottom:34px;display:flex;flex-direction:column;gap:6px;font-size:14px;pointer-events:none}.scene-label small{font-size:12px;color:#607263}.scene-tools{display:flex;flex-direction:column;gap:8px;position:absolute;right:22px;top:30px}.scene-tools button{width:42px;height:42px;background:#fffffff0;border:1px solid #ffffff80;box-shadow:0 3px 16px #1426190b;border-radius:50%;font-size:23px}.scene-tools button:hover{background:var(--forest);color:white}.bottom-controls{position:absolute;bottom:70px;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap}.mode-switch{display:flex;background:#fcfdf9f5;border:1px solid white;padding:5px;border-radius:40px;box-shadow:0 8px 32px #263c2518}.mode-switch button{display:flex;align-items:center;gap:8px;font-size:13px;border-radius:30px;padding:12px 17px;transition:all .2s}.mode-switch button span{font-size:20px;line-height:1}.mode-switch button.active{background:var(--forest);color:white}.bottom-controls p{margin:13px 0 0;color:#6b7644;font-size:12px}.bottom-controls p span{margin:0 7px}.model-note{position:absolute;right:25px;bottom:17px;font-size:12px;color:#6b7665}.details{background:#fcfdf9;overflow-y:auto;scrollbar-width:thin;border-left:1px solid var(--line);padding:30px 27px 20px}.aside-intro .eyebrow{font-size:12px;color:#888980}.aside-intro h2{font-family:Georgia,serif;font-weight:normal;font-size:40px;letter-spacing:-.04em;margin:9px 0 12px}.aside-intro h2 span{display:inline-block;margin-left:12px;letter-spacing:0;font-family:Arial,sans-serif;font-size:12px;color:#68795c;border:1px solid #dedfd9;border-radius:20px;padding:5px 9px;vertical-align:middle}.aside-intro p{font-size:14px;line-height:1.65;margin:0;color:#687467}.key-facts{display:grid;grid-template-columns:1.2fr 1fr;margin:25px 0 28px;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.key-facts>div+div{border-left:1px solid var(--line);padding-left:24px}.key-facts strong{font-size:27px;letter-spacing:-.04em;font-weight:500}.key-facts strong span{font-size:16px}.key-facts small{display:block;font-size:12px;margin-top:6px;color:#72806d}.room-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.room-heading h3{font-size:14px;margin:0;font-weight:600}.room-heading>span{font-size:12px;color:#9bA392}.room-list{display:flex;flex-direction:column;gap:5px}.room-button{display:flex;align-items:center;text-align:left;width:100%;gap:12px;padding:13px 10px;border-radius:8px;transition:background .2s}.room-button:hover{background:#f0f1eb}.room-button.active{background:#eef0e8}.room-num{font-size:12px;color:#7d865f;min-width:17px}.room-button>span:nth-child(2){flex:1;font-size:14px;font-weight:500}.room-button small{display:block;font-size:12px;color:#808975;margin-top:6px;font-weight:normal}.room-button>strong{font-size:14px;font-weight:normal;text-align:right}.room-button>strong small{font-size:12px}.room-detail{border-left:2px solid #aebc93;padding:3px 0 2px 14px;margin:23px 0}.room-detail .eyebrow{font-size:12px;color:#7d865f}.room-detail p{font-size:13px;line-height:1.6;color:#73806b;margin:9px 0 12px}.room-detail button{font-size:12px;font-weight:600;padding:0;display:flex;align-items:center;gap:35px;color:#6b7644}.room-detail button span{font-size:19px}.specs{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{list-style:none;padding:18px 0;display:flex;justify-content:space-between;cursor:pointer;font-size:13px}summary::-webkit-details-marker{display:none}summary>span{font-size:19px;line-height:13px}.specs[open] summary>span{transform:rotate(45deg)}.spec-content h4{font-size:13px;margin:12px 0;color:#6b7644}.spec-content dl{margin:0}.spec-content dl>div{display:flex;justify-content:space-between;font-size:12px;gap:15px;border-bottom:1px solid #eef1e9;padding:9px 0}.spec-content dd{margin:0;text-align:right;color:#65735c;max-width:57%}.spec-content ul{font-size:12px;line-height:1.65;color:#65735c;padding-left:16px}.spec-content li{margin-bottom:7px}.pdf-link{display:flex;justify-content:space-between;padding:18px 0;font-size:13px}.pdf-link span{font-size:18px}.aside-footer{border-top:1px solid var(--line);padding-top:20px;color:#8a927f}.aside-footer>span{font-size:12px;letter-spacing:.12em}.aside-footer small{display:block;font-size:12px;margin-top:7px}.loading{position:absolute;inset:0;display:flex;flex-direction:column;gap:20px;align-items:center;justify-content:center;background:#eaece2e8;z-index:4;font-size:15px}.loader{height:35px;width:35px;border:2px solid #acb79a;border-top-color:var(--forest);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);width:80%;text-align:center;z-index:6;background:#fcfdf9;padding:30px;border-radius:16px}.error-message button{background:var(--forest);color:white;border-radius:30px;padding:12px 18px}.walk-hint{position:absolute;left:26px;top:26px;max-width:calc(100% - 105px);padding:16px 19px;background:#fcfdf9ee;border:1px solid white;border-radius:12px;box-shadow:0 5px 20px #1025190b;pointer-events:none}.walk-hint strong{font-family:Georgia,serif;font-size:21px;font-weight:normal;display:block;margin-bottom:7px}.walk-hint span{display:block;font-size:12px;line-height:1.6}.walk-hint small{font-size:12px;color:var(--muted);display:block;margin-top:5px}.walk-controls{position:absolute;bottom:120px;right:25px;text-align:center;touch-action:none}.walk-controls button{width:44px;height:44px;background:#ffffffe6;border:1px solid white;margin:3px;border-radius:10px;font-size:20px;touch-action:none}.walk-controls button:active{background:var(--forest);color:white}.walk-controls>div{display:flex}.plan-view{background:#f0f2e9;padding:42px 35px 35px;display:flex;flex-direction:column;justify-content:center}.panel-heading{position:absolute;left:35px;top:35px;right:35px}.panel-heading h2{font-family:Georgia,serif;font-size:43px;font-weight:normal;line-height:1.1;letter-spacing:-.04em;margin:14px 0}.panel-heading p{font-size:13px;color:#777870;max-width:440px;line-height:1.5}.plan-wrap{position:relative;width:100%;margin-top:100px}.plan-wrap>img{width:100%;height:auto;display:block}.plan-hotspot{position:absolute;width:35px;height:35px;background:#6b7644;border:3px solid #ffffffb0;border-radius:50%;color:white;font-size:12px;box-shadow:0 3px 13px #10201938}.plan-hotspot span{display:none;position:absolute;bottom:40px;left:50%;transform:translateX(-50%);font-size:12px;padding:7px 10px;background:var(--forest);border-radius:6px;white-space:nowrap}.plan-hotspot:hover span,.plan-hotspot:focus span{display:block}.living-hot{left:29%;top:45%}.bath-hot{left:61%;top:35%}.bedroom-hot{left:81%;top:42%}.hall-hot{left:61%;top:79%}.plan-dimension{display:flex;justify-content:space-between;align-items:center;margin:10px 20px 0;gap:20px;color:#7d865f;border-top:1px solid #c8cbbd;padding-top:10px}.plan-dimension strong{font-size:12px;font-weight:normal}.plan-caption{font-size:12px;text-align:center;margin:35px 0;color:#777870}.gallery-view{background:#e8eae0;display:flex;flex-direction:column}.gallery-image-wrap{position:relative;flex:1;min-height:350px;overflow:hidden}.gallery-image-wrap>img{width:100%;height:100%;position:absolute;object-fit:cover}.gallery-image-wrap:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0a1b14b8);pointer-events:none}.gallery-caption{position:absolute;left:38px;bottom:29px;z-index:1;color:white}.gallery-caption h2{font-family:Georgia,serif;font-size:45px;font-weight:normal;margin:12px 0}.gallery-caption p{font-size:13px;line-height:1.5;max-width:430px}.gallery-caption .eyebrow{font-size:12px}.gallery-arrow{position:absolute;top:47%;width:44px;height:44px;background:#ffffffe0;border-radius:50%;z-index:2;font-size:21px}.gallery-arrow.prev{left:18px}.gallery-arrow.next{right:18px}.gallery-thumbs{display:flex;gap:12px;padding:20px 28px 13px;justify-content:center}.gallery-thumbs button{padding:0;border:2px solid transparent;border-radius:7px;overflow:hidden;position:relative;flex:1;max-width:140px;height:78px}.gallery-thumbs button.active{border-color:var(--forest)}.gallery-thumbs img{width:100%;height:100%;object-fit:cover;filter:brightness(.8)}.gallery-thumbs span{position:absolute;left:9px;bottom:7px;color:white;font-size:12px}.gallery-note{font-size:12px;text-align:center;line-height:1.6;margin:0 auto 18px;padding:0 30px;max-width:620px;color:#777870}dialog{border:1px solid #cad3c0;border-radius:20px;background:#fcfdf9;color:var(--ink);max-width:600px;width:calc(100% - 32px);padding:35px 40px;max-height:85dvh;overflow:auto}dialog::backdrop{background:#091c15aa;backdrop-filter:blur(5px)}dialog h2{font-family:Georgia,serif;font-size:36px;font-weight:normal;line-height:1.08;letter-spacing:-.03em;margin:15px 0 22px}dialog p{font-size:14px;line-height:1.65;color:#697560}dialog h3{font-size:14px;margin-top:23px}.dialog-close{position:absolute;right:17px;top:12px;font-size:29px}.dialog-footnote{border-top:1px solid var(--line);padding-top:17px;font-size:12px!important}
@media(min-width:1600px){.experience{grid-template-columns:minmax(0,1fr) 410px}.details{padding:40px 34px}.stage-title{left:45px;top:40px}.room-button{padding:17px 12px}.room-button>span:nth-child(2){font-size:16px}.room-detail p{font-size:15px}.room-detail button{font-size:14px}.aside-intro p{font-size:16px}.specs summary,.pdf-link{font-size:15px}.key-facts small{font-size:12px}.room-button small{font-size:12px}.aside-intro .eyebrow{font-size:12px}}
@media(max-width:1100px){.experience{grid-template-columns:minmax(0,1fr) 310px}.details{padding:25px 20px}.topbar{padding:0 22px}.view-tabs button{padding:11px 15px}.source-badge{font-size:0;gap:0}.source-badge>span:last-child{font-size:22px}.source-badge .small-dot{display:none}.stage-title{left:24px}.stage-title .eyebrow{font-size:12px}.mode-switch button{padding:11px 12px;font-size:12px}.scene-label{bottom:26px;left:24px;font-size:12px}.model-note{font-size:12px}.plan-view{padding:30px 18px}.panel-heading{left:24px;top:30px}.panel-heading h2{font-size:35px}.gallery-caption{left:26px;right:50px}.gallery-caption h2{font-size:36px}}
@media(max-width:760px){.topbar{height:124px;padding:14px 18px 58px;align-items:center;gap:15px}.identity strong{font-size:14px}.identity small{font-size:12px}.brandmark{width:36px;height:36px;font-size:31px}.view-tabs{position:absolute;left:18px;right:18px;bottom:11px;justify-content:center}.view-tabs button{flex:1;padding:9px 10px;font-size:13px}.source-badge{margin-left:auto}.experience{height:auto;min-height:0;display:block}.stage{height:calc(80dvh - 124px);min-height:530px}.view-panel{min-height:530px}.details{overflow:visible;border-left:0;border-top:1px solid var(--line);padding:26px 23px}.stage-title{top:24px;left:22px}h1{font-size:32px}.scene-tools{top:21px;right:15px;gap:7px}.scene-tools button{width:35px;height:35px;font-size:21px}.stage-title .eyebrow{font-size:12px}.bottom-controls{bottom:66px;max-width:96%}.mode-switch{padding:4px}.mode-switch button{padding:11px 13px;font-size:12px;gap:6px}.mode-switch button span{font-size:17px}.scene-label{left:20px;bottom:24px;font-size:12px}.scene-label small{font-size:12px}.model-note{bottom:11px;right:15px;font-size:12px}.bottom-controls p{font-size:12px}.key-facts{margin:22px 0}.aside-intro h2{font-size:39px}.aside-intro p{font-size:15px}.room-button>span:nth-child(2){font-size:16px}.room-button{padding:16px 12px}.room-button small{font-size:12px}.room-detail p{font-size:14px}.room-detail button,.pdf-link,summary{font-size:14px}.key-facts small{font-size:12px}.room-heading h3{font-size:16px}.spec-content ul,.spec-content dl>div{font-size:14px}.spec-content h4{font-size:15px}.walk-hint{left:15px;top:15px;padding:12px 14px;max-width:calc(100% - 75px)}.walk-hint span{max-width:220px;font-size:12px}.walk-hint small{max-width:220px}.walk-controls{bottom:134px;right:12px}.walk-controls button{height:40px;width:40px}.plan-view{padding:25px 12px}.panel-heading{left:22px;top:24px}.panel-heading h2{font-size:32px}.panel-heading p{font-size:12px;max-width:300px}.plan-wrap{margin-top:116px}.plan-dimension{margin:12px 12px 0}.plan-caption{font-size:12px;margin:25px 5px}.plan-hotspot{width:30px;height:30px;font-size:12px}.gallery-thumbs{padding:13px 14px 9px;gap:7px}.gallery-thumbs button{height:56px}.gallery-note{font-size:12px;margin-bottom:10px;padding:0 16px}.gallery-caption{left:24px;bottom:12px}.gallery-caption h2{font-size:34px}.gallery-caption p{font-size:12px}.gallery-caption .eyebrow{font-size:12px}.gallery-arrow{height:35px;width:35px;font-size:19px}.gallery-arrow.prev{left:10px}.gallery-arrow.next{right:10px}.gallery-image-wrap{min-height:360px}dialog{padding:30px 25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.room-detail p{font-size:14px}.aside-intro p{font-size:16px}.scene-label small{font-size:12px}.model-note{font-size:12px}.scene-label{bottom:33px}.model-note{right:22px;bottom:10px}.bottom-controls{bottom:94px}.bottom-controls p{font-size:12px}.walk-controls{bottom:174px}.identity small{font-size:12px;letter-spacing:.12em}.aside-footer>span{font-size:12px;letter-spacing:.04em}.room-detail .eyebrow{font-size:12px}.stage-title .eyebrow{font-size:12px}.stage:fullscreen{height:100dvh;width:100vw}.stage:fullscreen .view-panel{height:100dvh}.plan-caption,.gallery-note{font-size:12px}
@media(max-width:760px){.model-note{font-size:12px;bottom:9px;left:20px;right:auto}.scene-label{bottom:44px}.scene-label small{display:none}.bottom-controls{bottom:84px}.stage-title .eyebrow{font-size:10px}.room-detail p{font-size:16px}.gallery-caption p{font-size:14px}.gallery-note{line-height:1.35}.gallery-thumbs{padding:10px 12px 8px}.plan-caption{font-size:12px}.identity small{font-size:10px}.walk-hint small{display:none}.walk-controls{bottom:166px}.gallery-image-wrap{min-height:300px}}

/* Home Effect brand treatment based on the official logo and website palette. */
.topbar,.details,dialog{background:#fff}
.home-effect-logo{display:block;width:116px;height:auto;max-height:74px;object-fit:contain}
.view-tabs{background:#f0f0ec}
.view-tabs button:hover:not(.active){background:#e4e5df;color:#545c35}
.scene-tools button:hover,.mode-switch button.active,.view-tabs button.active,.plan-hotspot{background:#6b7644}
.room-button.active{background:#eef0e8}
.room-detail{border-left-color:#97a078}
.room-detail button,.pdf-link:hover{color:#6b7644}
.small-dot{background:#97a078}
.stage,.loading{background:#edede8}
.plan-view{background:#f1f1ed}
.gallery-view{background:#e8e9e3}
@media(max-width:760px){.home-effect-logo{width:94px;max-height:62px}}
.scene-label{background:#ffffffe0;padding:9px 12px;border-radius:8px;backdrop-filter:blur(8px)}
.bottom-controls p{display:inline-block;background:#ffffffe0;padding:6px 10px;border-radius:8px}
.model-note{background:#ffffffe0;padding:3px 7px;border-radius:4px}
.is-evening .stage-title,.is-evening .stage-title .eyebrow,.is-evening .stage-title h1 em{color:#eeeee8}
.is-evening .stage-title{text-shadow:0 2px 16px #102131}
