@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');

:root{font-family:'DM Sans',sans-serif;color:#343c33;background:#f3f1e9;font-synthesis:none;font-weight:400;--ink:#343c33;--muted:#85887b;--line:#dadcd0;--olive:#6b7654}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid #718351;outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 4.1%;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;font-size:16px;font-weight:650;letter-spacing:3px}.brand-mark{font-size:37px;font-weight:400;line-height:1;color:#666e52}.brand-sub{display:block;font-size:8px;letter-spacing:2.4px;font-weight:500;margin-top:5px}.header-location{display:flex;align-items:center;gap:17px;font-size:12px;color:#7d8274}.tiny-star{font-size:24px;color:#8c946c}.line{height:13px;width:1px;background:#c8cbbb}.icon-button{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid #cdd1c1;background:#f4f3ecb8;border-radius:50%;font-size:17px;transition:background .2s,transform .2s}.icon-button:hover{background:#fff;transform:translateY(-1px)}main{padding:20px 2% 0}.viewport{position:relative;height:calc(100svh - 290px);min-height:470px;max-height:1000px;border-radius:4px;overflow:hidden;background:#cdd6d0}#scene{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}.scene-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#e5e8dfb0 0%,#e5e8df50 24%,transparent 47%),linear-gradient(0deg,#182b243b,transparent 20%)}.intro{position:absolute;top:42px;left:38px;pointer-events:none}.eyebrow{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:2px;font-weight:600}.eyebrow span{width:17px;height:1px;background:#68765b}h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(40px,4.3vw,70px);font-weight:400;line-height:1.02;letter-spacing:-1.6px;margin:20px 0}.intro-description{font-size:11px;line-height:1.9;color:#646f63}.place-label{display:flex;gap:10px;margin-top:29px;font-size:8px;letter-spacing:1.5px;font-weight:600;align-items:center}.pin{font-size:26px;font-weight:400}.place-label small{display:block;letter-spacing:0;font-weight:400;font-size:10px;margin-top:5px;color:#717b6d}.scene-tools{position:absolute;top:24px;right:22px;display:flex;flex-direction:column;gap:9px}.scene-tools .icon-button{width:36px;height:36px;background:#eff1e4a6;border-color:#eef0df70}.scene-tools .icon-button[aria-pressed=true]{color:#fff;background:#687652}.compass{position:absolute;right:29px;bottom:58px;width:42px;text-align:center;color:#e8eadd;font-size:8px;text-shadow:0 1px 4px #344036}.compass>div{font-size:38px;line-height:38px}.compass small{position:absolute;top:26px;left:-10px;letter-spacing:9px;font-size:7px;white-space:nowrap}.compass i{font-style:normal;opacity:0}.compass>span{display:block}.scene-caption{position:absolute;bottom:25px;left:30px;display:flex;align-items:center;gap:10px;color:#f6f5df;font-size:8px;letter-spacing:1.4px}.live-dot{width:5px;height:5px;border-radius:50%;background:#d9e4ac}.caption-divider{opacity:.5}.scene-caption #scene-detail{letter-spacing:.15px;opacity:.75;font-size:10px}.camera-hint{position:absolute;bottom:24px;right:27px;font-size:9px;color:#f0f3e3;display:flex;gap:9px;align-items:center}.camera-hint>span:first-child{font-size:14px}.hint-separator{opacity:.6}.explore-panel{min-height:134px;padding:23px 20px 21px;display:grid;grid-template-columns:1.9fr 1fr .9fr;gap:33px;border-bottom:1px solid var(--line)}.control-label{font-size:8px;font-weight:600;letter-spacing:1.8px;color:#888d7d;margin:0 0 14px}.mode-tabs{display:flex;gap:9px}.mode-button{display:flex;align-items:center;text-align:left;gap:11px;flex:1;background:transparent;border:1px solid var(--line);border-radius:5px;padding:12px 13px;font-size:11px;white-space:nowrap;transition:all .2s}.mode-button:hover{background:#e9ecdf}.mode-button.active{border-color:#7d8867;background:#e8ebdd}.mode-button small,.motion-control small{display:block;font-size:8px;color:#838b77;margin-top:4px;font-weight:400}.mode-icon{font-size:23px;font-weight:400;color:#73815e}.mode-arrow{margin-left:auto;font-size:13px;color:#8e987e}.mode-button:not(.active) .mode-arrow{opacity:0}.atmosphere,.motion-control{border-left:1px solid var(--line);padding-left:30px}.atmosphere-row{display:flex;gap:16px;align-items:center}.atmosphere-row>span{font-size:28px;color:#92996e}.atmosphere-row>div{flex:1}.time-labels{display:flex;justify-content:space-between;gap:15px;font-size:10px}.time-labels output{font-size:9px;color:#7c856c}input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:3px;background:linear-gradient(90deg,#b8c0aa,#ddc79b,#a29a92);margin:15px 0 9px;cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:10px;height:10px;background:#6e7c55;border:2px solid #f0f1e5;border-radius:50%;box-shadow:0 0 0 1px #8b957b}input[type=range]::-moz-range-thumb{width:7px;height:7px;background:#6e7c55;border:2px solid #f0f1e5;border-radius:50%}.range-labels{display:flex;justify-content:space-between;font-size:6px;letter-spacing:1px;color:#94988a}.motion-control>button{display:flex;align-items:center;gap:12px;background:none;padding:10px 0;width:100%;font-size:11px;text-align:left}.play-icon{font-size:26px;color:#829068}.toggle{height:19px;width:33px;border-radius:20px;background:#dce0d1;margin-left:auto;padding:3px;transition:background .2s}.toggle i{display:block;width:13px;height:13px;border-radius:50%;background:#fff;transition:transform .2s}button[aria-pressed=true] .toggle{background:#77855c}button[aria-pressed=true] .toggle i{transform:translateX(14px)}footer{display:flex;align-items:center;justify-content:space-between;padding:19px 20px;font-size:8px;letter-spacing:1.5px;color:#8b9181}footer>span:nth-child(2){font-size:10px;letter-spacing:.1px}.footer-star{font-size:17px;margin-left:12px;color:#7f8969}footer button{font-size:9px;letter-spacing:0;background:none}footer button span{margin-left:9px}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e6e9de;z-index:5;transition:opacity .6s;pointer-events:none}.loading p{font-family:Georgia,serif;font-style:italic;color:#788366;font-size:17px}.loading-mark{font-size:65px;color:#798464;animation:breathe 2s infinite}.loading.loaded{opacity:0}.error-state{position:absolute;inset:0;background:#e7e9df;z-index:6;padding:15%;text-align:center}.error-state h2{font-family:Georgia,serif;font-weight:400}.error-state button,.primary-button{padding:13px 22px;background:#66764e;color:#fff;border-radius:3px}.toast{position:absolute;bottom:60px;left:50%;transform:translate(-50%,10px);background:#313c2ddb;color:#f4f1e5;font-size:11px;border-radius:4px;padding:11px 18px;opacity:0;pointer-events:none;transition:all .2s;max-width:90%;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #d0d6c2;background:#f5f3e9;color:var(--ink);padding:38px;max-width:460px;border-radius:8px;box-shadow:0 20px 100px #0d201655}dialog::backdrop{background:#18251d88;backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:14px;right:14px}dialog h2{font-family:'Libre Caslon Display',Georgia,serif;font-size:39px;font-weight:400;margin:18px 0}dialog p,dd{font-size:12px;line-height:1.8;color:#7a8270}dt{font-size:13px;font-weight:600;margin:20px 0 5px}dd{margin:0}.guide-note{border-top:1px solid var(--line);padding-top:15px}.primary-button{margin-top:10px;width:100%;display:flex;justify-content:space-between}.touch-controls{position:absolute;left:20px;bottom:70px;text-align:center}.touch-controls button{width:39px;height:36px;background:#f2f1e1c9;margin:2px;border-radius:4px;font-size:19px;touch-action:none;user-select:none}.altitude-controls{display:none}.viewport.drone .altitude-controls{display:block}.viewport.interior .intro,.viewport.drone .intro{opacity:0}.intro{transition:opacity .4s}.viewport.interior .scene-vignette{background:linear-gradient(0deg,#182b245c,transparent 20%)}@keyframes breathe{50%{opacity:.45;transform:translateY(-4px)}}@media(min-width:1600px){.explore-panel{grid-template-columns:1.65fr 1fr .8fr;gap:50px}.mode-button{padding:13px 20px;font-size:12px}.mode-button small{font-size:9px}}@media(max-width:1100px){.explore-panel{grid-template-columns:1.7fr 1fr;gap:20px}.motion-control{display:none}.intro{left:25px;top:27px}.mode-button{padding:11px 9px;gap:7px}.mode-arrow{display:none}.header-location{font-size:10px}.atmosphere{padding-left:20px}}@media(max-width:700px){.topbar{height:74px;padding:0 6%}.brand{font-size:13px}.brand-mark{font-size:30px}.brand-sub{font-size:6px}.header-location{display:none}main{padding:10px 10px 0}.viewport{height:65svh;min-height:440px}.intro{top:24px;left:20px}.eyebrow{font-size:7px;letter-spacing:1.5px}h1{font-size:43px;margin:16px 0}.intro-description{font-size:10px}.place-label{margin-top:18px;font-size:7px}.place-label small{font-size:8px}.scene-tools{right:14px;top:17px}.scene-tools .icon-button{width:31px;height:31px}.scene-caption{left:18px;bottom:19px;font-size:7px;gap:7px}.scene-caption #scene-detail{display:none}.camera-hint{font-size:8px;right:15px;bottom:17px;gap:5px}.compass{right:20px;bottom:50px}.explore-panel{display:flex;flex-wrap:wrap;padding:20px 6px;gap:22px}.mode-section{width:100%}.mode-button{justify-content:center;padding:13px 8px}.mode-icon{font-size:20px}.mode-button small{font-size:7px}.control-label{font-size:7px;margin-bottom:11px}.atmosphere{border-left:0;padding-left:0;flex:1}.atmosphere-row{gap:12px}.motion-control{display:block;flex:1;padding-left:20px}.motion-control>button{font-size:10px}.motion-control small{font-size:7px}.motion-control .play-icon{display:none}footer{padding:16px 6px;letter-spacing:.8px;font-size:6px}footer>span:nth-child(2){display:none}.touch-controls:not([hidden]){display:block}.viewport.interior .camera-hint,.viewport.drone .camera-hint{max-width:180px;text-align:right}.toast{bottom:45px}dialog{margin:auto 15px;padding:28px;max-width:calc(100% - 30px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
