*{box-sizing:border-box}body{margin:0;background:#dbe3e3;color:#15272a;font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}header{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 30px;background:linear-gradient(#ffffffee,#ffffff00)}header>div{font:22px Georgia;letter-spacing:3px;text-align:center}small{display:block;font:10px/2 sans-serif;letter-spacing:2px}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit;cursor:pointer;border:1px solid #7b929344;background:#ffffffdb;border-radius:4px;padding:11px 16px}button:hover,button.selected{background:#18373a;color:white}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ccaa62;outline-offset:3px}main,#viewer{position:absolute;inset:0}#viewer canvas{display:block;width:100%;height:100%}.loadingPoster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;transition:opacity .7s}.viewer-status{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:20px 30px;z-index:3;box-shadow:0 8px 50px #0003;max-width:80vw}.title{position:absolute;top:115px;left:35px;pointer-events:none;max-width:320px}.title span,.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600}.title h1{font:48px/1.04 Georgia;margin:15px 0;text-shadow:0 1px 15px #fff}aside{position:absolute;right:28px;top:110px;width:280px;background:#f9faf7e8;backdrop-filter:blur(15px);padding:25px;border:1px solid #fff;border-radius:6px;box-shadow:0 15px 45px #18383b15}aside h2{font:27px/1.1 Georgia;margin:15px 0}aside p{font-size:13px;color:#53656a}aside button{display:flex;align-items:center;gap:15px;width:100%;text-align:left;border:0;border-top:1px solid #ccd4d0;background:transparent;border-radius:0;padding:17px 0}aside button:hover,aside button.selected{background:transparent;color:#826936}aside button>span{font:23px Georgia;color:#a58c50}aside button small{font:11px/2 sans-serif;letter-spacing:0;color:#617277}aside button b{margin-left:auto;font-size:22px;font-weight:400}.interiorGallery{display:block;padding:15px 0 0;border-top:1px solid #ccd4d0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.controls{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);display:flex;gap:7px;padding:8px;background:#ffffff80;backdrop-filter:blur(10px);border-radius:8px;max-width:95vw;white-space:nowrap;overflow:auto}.controls button{font-size:12px}.hint{position:absolute;bottom:53px;left:20px;right:20px;text-align:center;font-size:12px}.modelNote{position:absolute;bottom:10px;left:20px;right:20px;text-align:center;font-size:10px;margin:0;color:#435659}.mobileEntry{display:none}[hidden]{display:none!important}@media(max-width:850px){header{padding:17px;gap:10px}.back{font-size:11px;max-width:100px}header>div{font-size:17px}header button{font-size:11px;padding:8px}aside{right:15px;top:110px;width:235px;padding:18px}.title{left:20px}.title h1{font-size:34px}}@media(max-width:600px){aside{display:none}.title{top:95px}.title h1{font-size:30px}.controls{bottom:125px;max-width:96vw;left:2vw;transform:none;width:96vw;justify-content:flex-start}.controls button{padding:10px;flex-shrink:0}.mobileEntry{position:absolute;bottom:73px;left:4vw;width:92vw;display:flex;gap:10px;align-items:center}.mobileEntry select{flex:1;min-width:0;background:#fffffff0}.hint{bottom:47px;font-size:11px}.modelNote{font-size:9px}.title{max-width:200px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.modelNote{font-size:12px;max-width:1000px;margin:auto}.hint{bottom:61px}.controls{bottom:88px}.modelNote a{text-decoration:underline}.title span,.eyebrow,aside button small{font-size:12px}@media(max-width:600px){.modelNote{font-size:10px}.hint{bottom:51px}.controls{bottom:128px}.mobileEntry{bottom:77px}}
header>div,.title h1,aside h2,aside button>span{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.04em}.title h1{font-weight:650}aside{border-radius:22px}button,select{border-radius:24px}.toolbar{border-radius:30px}

/* Reserve space for controls so touch users can see and orbit the model. */
@media(max-width:1200px){html,body{height:100%;overflow:hidden}header{height:72px;padding:12px 20px;align-items:center;background:#f7f8f5}header>div{font-size:18px}header .back{font-size:12px;max-width:140px}header button{min-height:44px}main{height:100dvh}aside{display:none}.title{top:84px;left:24px;max-width:85%}.title h1{font-size:28px;margin:5px 0}.title h1 br{display:none}.title span{font-size:10px}#viewer{inset:158px 0 208px}.controls{bottom:142px;left:3%;transform:none;width:94%;max-width:none;flex-wrap:wrap;justify-content:center;white-space:normal;overflow:visible;gap:6px;padding:6px}.controls button{min-height:44px;padding:10px 12px}.mobileEntry{display:flex;position:absolute;bottom:86px;left:4%;width:92%;gap:12px;align-items:center}.mobileEntry select{flex:1;min-width:0;min-height:48px;background:#fff}.hint{bottom:61px;font-size:11px}.modelNote{bottom:8px;left:4%;right:4%;font-size:10px;line-height:1.4;max-width:850px}.loadingPoster{object-fit:contain}.viewer-status{font-size:13px;padding:16px;max-width:85%}}
@media(max-width:600px){header{padding:10px 14px}header>div{font-size:16px}header .back{max-width:95px;font-size:11px}header button{font-size:11px;padding:8px 10px}.title{left:18px;top:84px}.title h1{font-size:25px}.controls{bottom:142px;gap:5px}.controls button{font-size:11px;padding:8px 10px}#viewer{top:145px;bottom:255px}.mobileEntry label{font-size:12px}.modelNote{font-size:9px}.hint{font-size:10px}.mobileEntry select{font-size:16px}}
@media(max-height:550px) and (max-width:1200px){header{height:56px}.title{top:64px;left:16px}.title h1{font-size:19px;margin:0}.title span{font-size:9px}#viewer{inset:102px 280px 12px 0}.controls{left:auto;right:12px;top:124px;bottom:auto;width:256px}.mobileEntry{left:auto;right:12px;top:66px;bottom:auto;width:256px}.mobileEntry label{display:none}.mobileEntry select{min-height:44px}.hint{display:none}.modelNote{left:auto;right:14px;width:250px;bottom:10px;font-size:9px}header>div small{display:none}}

/* Prominent apartment entry choices. */
aside button[data-model]{border:1px solid #bccbc4;border-radius:14px;background:#fff;margin:10px 0;padding:16px 12px}aside button[data-model]:hover,aside button[data-model].selected{background:#18373a;color:#fff}aside button[data-model].selected small{color:#d9e6e2}.chooseHome{font-size:12px;font-weight:650}.apartmentChoices{display:flex;width:100%;gap:8px}.apartmentChoices button{flex:1;min-width:0;background:#18373a;color:#fff;border:1px solid #18373a;min-height:48px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:15px}.apartmentChoices button.selected{background:#bda67b;border-color:#bda67b;color:#17282b}.apartmentChoices button:hover{background:#355b57}.apartmentChoices button span{font-weight:400}
@media(max-width:1200px){.mobileEntry{bottom:85px;display:flex;flex-direction:column;align-items:stretch;gap:8px}.controls{bottom:174px}#viewer{bottom:240px}.hint{bottom:57px}.chooseHome{text-align:center}}
@media(max-width:600px){#viewer{bottom:287px}.controls{bottom:174px}.apartmentChoices{gap:6px}.apartmentChoices button{font-size:14px;padding:10px 8px;gap:12px}}
@media(max-height:550px) and (max-width:1200px){.mobileEntry{top:64px;bottom:auto;width:256px}.controls{top:149px;bottom:auto}.chooseHome{font-size:11px}.apartmentChoices button{font-size:12px;gap:8px;padding:8px 5px}#viewer{bottom:12px}.hint{display:none}}

@media(max-width:600px) and (min-height:551px){.mobileEntry{bottom:96px}.controls{bottom:185px}#viewer{bottom:298px}.hint{bottom:48px}}
