@font-face{font-family:TourSans;src:local("Avenir Next"),local("Avenir"),local("Segoe UI"),local("Roboto");font-display:swap}
:root{color-scheme:dark;--ink:#102431;--paper:#fcfcf4;--accent:#d5e9a4;--muted:#dbe2dfb3;--line:#ffffff26}
*{box-sizing:border-box}body{margin:0;background:var(--ink);font-family:TourSans,Arial,sans-serif;color:var(--paper);-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:disabled{opacity:.45;cursor:default}button svg,svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{border:0}button[hidden],[hidden]{display:none!important}#tour{position:relative;width:100%;height:100svh;min-height:520px;isolation:isolate;overflow:hidden}#panorama{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none;background:#102431}#panorama.dragging{cursor:grabbing}.shade{position:absolute;inset-inline:0;pointer-events:none;z-index:1}.shade-top{top:0;height:210px;background:linear-gradient(#081c2ab0,transparent)}.shade-bottom{bottom:0;height:400px;background:linear-gradient(transparent,#071720aa 35%,#071720f5)}.header{position:absolute;top:max(27px,env(safe-area-inset-top));left:36px;right:36px;display:flex;align-items:center;justify-content:space-between;gap:18px;z-index:4}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:inherit}.brand-mark{width:45px;height:45px;border:1px solid #ffffff77;border-radius:50%;font-size:33px;line-height:40px;font-weight:400;text-align:center;position:relative;padding-right:5px}.brand-mark>span{position:absolute;font-size:20px;right:4px;top:-5px;line-height:32px}.brand-type{display:flex;flex-direction:column;gap:4px}.brand-type strong{font-size:16px;letter-spacing:3.4px;font-weight:600}.brand-type>span{font-size:9px;letter-spacing:4.7px;font-weight:400}.tour-tag{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:2.2px;padding:11px 16px;border:1px solid #ffffff33;border-radius:30px;background:#0a273230}.tour-tag b{font-size:13px;letter-spacing:0;font-weight:500}.live-dot{height:5px;width:5px;border-radius:100%;background:var(--accent)}.tag-separator{height:13px;width:1px;background:#ffffff4a;margin-left:6px}.header-actions{display:flex;gap:8px}.glass{background:#09212b68;border:1px solid #ffffff38;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;transition:background .16s,color .16s,transform .16s}.icon-button.glass{background:#09212b68}.icon-button:hover{background:#ffffff24}.icon-button:active{transform:scale(.94)}.icon-button[aria-pressed=true]{color:var(--ink);background:var(--accent)}.view-indicator{position:absolute;top:113px;right:36px;z-index:3;display:flex;align-items:center;gap:8px;border-radius:6px;padding:8px 12px;color:#f6fff6}.view-indicator span{font-size:9px;letter-spacing:1.7px}.view-indicator svg{width:18px;height:18px}.bottom-panel{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:36px;right:36px;max-width:1280px;margin:auto;z-index:3}.scene-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:22px}.eyebrow{font-size:9px;letter-spacing:2.6px;margin:0 0 8px;color:var(--accent);font-weight:500}.scene-title h1{font-size:clamp(25px,2.9vw,39px);font-weight:400;letter-spacing:-.9px;margin:0;line-height:1.15}.scene-navigation{display:flex;align-items:center;gap:9px}.scene-navigation .icon-button{width:42px;height:42px}.scene-count{font-size:11px;letter-spacing:1px;color:#dce4e1a6;margin-right:15px;display:flex;align-items:center;gap:12px}.scene-count b{color:var(--paper);font-size:18px;font-weight:400}.scene-count>span{opacity:.4;font-size:18px}.filmstrip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;padding:4px 1px 12px;scrollbar-width:none;overflow-x:auto;scroll-behavior:smooth}.filmstrip::-webkit-scrollbar{display:none}.scene-card{position:relative;border:1px solid #ffffff2b;border-radius:8px;overflow:hidden;min-width:0;background:#15303b;padding:0;height:86px;text-align:left;transition:border-color .16s,transform .16s;flex-shrink:0}.scene-card:hover{border-color:#ffffff99;transform:translateY(-2px)}.scene-card[aria-current=true]{border:2px solid var(--accent);box-shadow:0 0 0 2px #c5e69b22}.scene-card img{width:100%;height:100%;object-fit:cover;display:block;opacity:.7;transition:opacity .16s}.scene-card[aria-current=true] img,.scene-card:hover img{opacity:1}.scene-card:after{position:absolute;content:"";inset:0;background:linear-gradient(transparent 10%,#071720c9)}.scene-card-label{position:absolute;inset:auto 8px 8px;display:flex;gap:7px;align-items:center;z-index:1}.scene-card-number{font-size:9px;color:var(--accent);letter-spacing:.3px}.scene-card-name{font-size:10px;line-height:1.2;font-weight:500;text-shadow:0 1px 3px #000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-card[aria-current=true] .scene-card-number{border-bottom:1px solid var(--accent);padding-bottom:2px}.toolbar-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:5px;min-height:49px}.gesture-note,.photo-note{font-size:10px;line-height:1.5;color:#dce5e0a6;margin:0;display:flex;align-items:center;gap:8px}.gesture-note svg{height:16px;width:16px;opacity:.85}.photo-note{justify-content:flex-end;letter-spacing:.2px}.toolbar{display:flex;align-items:center;justify-content:center;gap:1px;padding:3px;border-radius:30px}.toolbar .icon-button{width:39px;height:39px}.toolbar svg{width:19px;height:19px}.tool-divider{width:1px;height:15px;background:#ffffff2b;margin:0 5px}.mobile-note{display:none}.drag-hint{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);z-index:2;display:flex;align-items:center;flex-direction:column;padding:21px 26px;border-radius:12px;background:#0d26345e;backdrop-filter:blur(6px);pointer-events:none;white-space:nowrap;transition:opacity .7s,transform .7s;text-shadow:0 1px 4px #10243155}.drag-hint svg{height:33px;width:33px;margin-bottom:13px;color:var(--accent)}.drag-hint span{font-size:13px}.drag-hint small{font-size:10px;color:#e3ebe4c2;margin-top:7px}.drag-hint.dismissed{opacity:0;transform:translate(-50%,-55%)}.loading{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:16px;padding:25px 30px;background:#102431d9;border-radius:10px;font-size:13px;backdrop-filter:blur(8px);white-space:nowrap}.loader{width:28px;height:28px;border:2px solid #ffffff30;border-top-color:var(--accent);border-radius:100%;animation:spin 1s linear infinite}.error-panel{position:absolute;inset:25% 18px auto;max-width:420px;margin:auto;text-align:center;z-index:6;background:#102431f5;padding:32px;border:1px solid #ffffff44;border-radius:16px}.error-panel>svg{width:40px;height:40px;color:var(--accent)}.error-panel h2{font-size:22px;font-weight:400}.error-panel p{font-size:13px;color:var(--muted);line-height:1.7}.primary{min-height:46px;border:0;border-radius:8px;background:var(--accent);color:var(--ink);font-size:13px;font-weight:600;padding:12px 19px;display:inline-flex;align-items:center;justify-content:center;gap:17px}.primary:hover{background:#e1f3b9}.toast{position:absolute;left:50%;bottom:285px;transform:translateX(-50%);z-index:10;padding:13px 20px;background:#f9fff4;color:var(--ink);border-radius:8px;font-size:12px;box-shadow:0 10px 50px #0005;max-width:90%;text-align:center}dialog{color:var(--paper);background:#112d37;border:1px solid #ffffff20;border-radius:18px;width:min(460px,calc(100% - 32px));max-height:calc(100svh - 36px);padding:37px;box-shadow:0 24px 90px #0008;overflow:auto}dialog::backdrop{background:#06131abf;backdrop-filter:blur(8px)}.close-dialog{position:absolute;top:12px;right:12px}.dialog-tag{font-size:9px;letter-spacing:2px;color:var(--accent)}dialog h2{font-size:36px;line-height:1.13;font-weight:400;letter-spacing:-1px;margin:20px 0 12px}dialog>p{font-size:13px;color:var(--muted);line-height:1.7}dialog ul{padding:0;list-style:none;display:flex;flex-direction:column;gap:20px;margin:28px 0}dialog li{display:flex;gap:14px;align-items:flex-start;font-size:12px;line-height:1.7;color:var(--muted)}dialog li svg{color:var(--accent);margin-top:3px}dialog strong{display:block;font-weight:500;color:var(--paper);font-size:13px}dialog .primary{width:100%}.svg-definitions{display:none}.fullscreen-fallback{position:fixed!important;inset:0!important;z-index:2147483647!important;height:100dvh!important}.header,.bottom-panel,.view-indicator{transition:opacity .2s}
@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1700px){.bottom-panel{bottom:32px}.scene-card{height:105px}}
@media(max-width:900px){.header{left:24px;right:24px}.bottom-panel{left:24px;right:24px}.scene-card{height:76px}.scene-card-name{font-size:9px}.scene-card-label{gap:5px;inset:auto 6px 7px}.view-indicator{right:24px}.toolbar-row{grid-template-columns:1fr auto}.photo-note{display:none}.tour-tag{font-size:9px;letter-spacing:1.5px}}
@media(max-width:600px){#tour{min-height:480px}.header{left:18px;right:18px;top:max(20px,env(safe-area-inset-top));gap:10px}.brand{gap:9px}.brand-mark{width:37px;height:37px;line-height:33px;font-size:27px}.brand-mark>span{font-size:17px;right:3px;top:-6px}.brand-type strong{font-size:12px;letter-spacing:2.5px}.brand-type>span{font-size:7px;letter-spacing:3.5px}.tour-tag{display:none}.header-actions{gap:6px}.header-actions .icon-button{height:38px;width:38px}.header-actions svg{width:19px;height:19px}.view-indicator{right:18px;top:87px;padding:6px 9px;gap:6px}.view-indicator span{font-size:8px;letter-spacing:1px}.view-indicator svg{height:16px;width:16px}.bottom-panel{left:18px;right:18px;bottom:max(17px,env(safe-area-inset-bottom))}.scene-row{margin-bottom:16px;align-items:center}.eyebrow{font-size:7px;letter-spacing:1.6px;margin-bottom:7px}.scene-title h1{font-size:25px;letter-spacing:-.5px;max-width:220px}.scene-navigation{gap:5px}.scene-navigation .icon-button{width:34px;height:34px}.scene-navigation .icon-button svg{height:18px;width:18px}.scene-count{gap:5px;margin-right:5px;font-size:9px}.scene-count b{font-size:15px}.scene-count>span{font-size:13px}.filmstrip{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity;margin-right:-18px;padding-right:18px}.scene-card{width:102px;height:68px;scroll-snap-align:center}.scene-card-name{font-size:9px;white-space:normal;line-height:1.2}.scene-card-number{font-size:8px;align-self:flex-end}.scene-card-label{gap:6px}.toolbar-row{display:flex;flex-direction:column;gap:9px;margin-top:4px}.toolbar{order:0}.gesture-note{order:1;font-size:9px;gap:6px;color:#e1e9e4a6}.gesture-note svg{height:12px;width:12px}.desktop-note{display:none}.mobile-note{display:inline}.toolbar .icon-button{width:38px;height:36px}.drag-hint{padding:18px 23px;top:40%}.drag-hint span{font-size:12px}.drag-hint small{font-size:9px}.drag-hint svg{height:29px;width:29px;margin-bottom:11px}.shade-bottom{height:330px}.toast{bottom:290px;width:max-content;max-width:90%}dialog{padding:30px}dialog h2{font-size:33px}}
@media(max-height:600px) and (min-width:601px){#tour{min-height:320px}.header{top:16px}.view-indicator{top:77px}.bottom-panel{bottom:10px}.scene-row{margin-bottom:8px}.scene-title h1{font-size:27px}.scene-card{height:58px}.toolbar-row{margin-top:0}.toolbar .icon-button{width:34px;height:32px}.filmstrip{padding-bottom:5px}.shade-bottom{height:260px}.drag-hint{top:37%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.loader{animation-duration:2s}}

/* The panorama engine owns projection and touch gestures; retain the tour HUD. */
#panorama .pnlm-load-box,#panorama .pnlm-error-msg,#panorama .pnlm-about-msg,#panorama .pnlm-panorama-info{display:none!important}
#panorama.pnlm-container{background:#102431;contain:strict}
#panorama .pnlm-render-container{z-index:0}
#panorama .pnlm-ui{z-index:1}
#panorama:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}
.header{flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:12px;pointer-events:none}
.header .tour-tag{position:absolute;top:0;left:50%;transform:translateX(-50%)}
.header-actions{pointer-events:auto}
.advisor-brand{width:96.8px;background:#000;border:1px solid transparent;border-radius:8px;overflow:hidden}
.advisor-brand img{display:block;width:100%;height:auto}
.project-identity .advisor-brand{margin-top:8px;flex-shrink:0}
.project-header{position:absolute;top:max(27px,env(safe-area-inset-top));left:36px;right:36px;max-width:1280px;margin:auto;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;pointer-events:none}
.project-identity{pointer-events:auto}
.project-identity{width:116px;display:flex;flex-direction:column;align-items:center}
.project-header .eyebrow{font-size:7px;letter-spacing:1.6px;margin:0 0 7px;white-space:nowrap}
.project-title{margin:0;line-height:1.2}
.project-logo{display:block;width:104px;padding:6px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #07172022}
.project-logo img{display:block;width:100%;height:auto}

.header .view-indicator{position:static;width:max-content}
.current-view-name{font-size:23px;font-weight:400;letter-spacing:-.3px;color:var(--paper);margin:0;line-height:1.25;text-shadow:0 1px 5px #07172088}
.whatsapp-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:116px;min-height:40px;margin-top:8px;padding:8px;border:1px solid #71dfac70;border-radius:24px;background:#174d3fe8;color:#f5fff9;text-decoration:none;font-size:12px;font-weight:600;line-height:1.2;box-shadow:0 4px 22px #07172022;transition:background .16s,transform .16s}
.whatsapp-link svg{width:19px;height:19px;stroke-width:1.5}
.whatsapp-link:hover{background:#216c51}
.whatsapp-link:active{transform:scale(.97)}
@media(max-width:900px){.project-header{left:24px;right:24px}.header .tour-tag{display:none}}
@media(max-width:600px){.header{gap:10px}.advisor-brand{width:79.86px;border-radius:7px}.project-header{top:max(20px,env(safe-area-inset-top));left:18px;right:18px;gap:12px}.project-identity{width:104px}.project-logo{width:88px;padding:5px;border-radius:7px}.project-header .eyebrow{font-size:6px;letter-spacing:1.4px;margin-bottom:6px}.current-view-name{font-size:18px;letter-spacing:-.2px;max-width:190px}.scene-row{align-items:center}.whatsapp-link{width:104px;min-height:38px;margin-top:7px;padding:8px 6px;font-size:11px;gap:6px}.whatsapp-link svg{width:17px;height:17px}.shade-bottom{height:275px}.shade-top{height:220px}}
@media(max-height:600px) and (min-width:601px){.header{gap:8px}.advisor-brand{width:72.6px}.header-actions .icon-button{width:34px;height:34px}.header-actions svg{width:18px;height:18px}.project-header{top:16px}.project-identity{width:104px}.project-logo{width:80px;padding:5px;border-radius:7px}.project-header .eyebrow{font-size:6px;letter-spacing:1px;margin-bottom:4px}.current-view-name{font-size:19px}.whatsapp-link{width:104px;min-height:36px;margin-top:6px;padding:7px;font-size:11px}.header .view-indicator{padding:5px 8px}}

/* Owner-controlled presentation settings; the published defaults stay unchanged. */
#tour{--project-scale:1;--advisor-scale:1;--top-offset:0px}
.header,.project-header{top:calc(max(27px,env(safe-area-inset-top)) + var(--top-offset))}
.advisor-brand{width:calc(96.8px * var(--advisor-scale))}
.project-logo{width:calc(104px * var(--project-scale))}
.project-identity{width:max(116px,calc(104px * var(--project-scale)))}
.project-display-name{margin:8px 0 0;text-align:center;font-size:12px;line-height:1.4;max-width:180px;text-shadow:0 1px 5px #0009;overflow-wrap:anywhere}
#tour[data-project-side=right] .project-header{justify-content:flex-end}
#tour[data-project-side=right] .header{align-items:flex-start}
@media(max-width:600px){.header,.project-header{top:calc(max(20px,env(safe-area-inset-top)) + var(--top-offset))}.advisor-brand{width:calc(79.86px * var(--advisor-scale))}.project-logo{width:calc(88px * var(--project-scale))}.project-identity{width:max(104px,calc(88px * var(--project-scale)))}.project-display-name{font-size:11px}}
@media(max-height:600px) and (min-width:601px){.header,.project-header{top:calc(16px + var(--top-offset))}.advisor-brand{width:calc(72.6px * var(--advisor-scale))}.project-logo{width:calc(80px * var(--project-scale))}.project-identity{width:max(104px,calc(80px * var(--project-scale)))}}

/* Match the contact button to the badge without moving the existing header. */
.header-contact{position:relative;width:max-content;pointer-events:none}
.header-contact .whatsapp-link{position:absolute;top:calc(100% + 8px);right:0;width:100%;height:100%;min-height:0;margin:0;padding:0 8px;gap:6px;border-radius:6px;font-size:11px;pointer-events:auto}
.header-contact .whatsapp-link svg{width:18px;height:18px}
@media(max-width:600px){.header-contact .whatsapp-link{padding:0 5px;gap:5px;font-size:10px}.header-contact .whatsapp-link svg{width:16px;height:16px}}

/* Retain the former badge's intrinsic size across fonts and screen sizes. */
.header .instagram-link{position:relative;inset:auto;pointer-events:auto;text-decoration:none;background:linear-gradient(110deg,#833ab4 0%,#c13584 40%,#e1306c 70%,#f56040 100%)}
.instagram-link .instagram-width-reference{visibility:hidden}
.instagram-link .instagram-label{position:absolute;left:38px;right:12px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:600;letter-spacing:0;white-space:nowrap}
.instagram-link:hover{filter:brightness(1.08)}
@media(max-width:600px){.instagram-link .instagram-label{left:31px;right:9px;font-size:10px}}
@media(max-height:600px) and (min-width:601px){.instagram-link .instagram-label{left:34px;right:8px}}
.lots-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 12px;width:max-content;min-width:154px;max-width:none;align-self:flex-start;flex-shrink:0;white-space:nowrap;border-radius:7px;font-size:11px;font-weight:600;background:var(--accent);color:var(--ink);border:1px solid var(--accent);box-shadow:0 4px 16px #13291d26;margin-top:10px}.lots-button svg{width:17px;height:17px}.lots-button:hover{background:var(--accent);box-shadow:0 5px 18px #13291d40}.lots-button[aria-pressed=true]{background:var(--accent);color:var(--ink)}.lots-button:disabled{opacity:.65}
@media(max-width:600px){.lots-button{min-width:145px;min-height:34px;font-size:10px;margin-top:8px}}

#tour[data-project-side=right] .lots-button{align-self:flex-end}

/* Shared audio control status, announced without obscuring the tour. */
.audio-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Contact buttons share one column and equal rows. */
.header-contact{display:grid;grid-template-columns:max-content;grid-auto-rows:1fr;gap:8px}
.header-contact .whatsapp-link{position:static;top:auto;right:auto;height:auto;align-self:stretch;justify-self:stretch}
.header-contact .location-link{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:auto;min-width:0;min-height:36px;margin:0;padding:0 8px;border:1px solid #ded8cb;border-radius:6px;background:#f2ebdd;color:#102431;text-decoration:none;white-space:nowrap;font-size:11px;font-weight:600;line-height:1.2;box-shadow:0 4px 22px #07172022;pointer-events:auto;align-self:stretch;justify-self:stretch}
.header-contact .location-link img{width:18px;height:18px;object-fit:contain;flex-shrink:0}
.header-contact .location-link:hover{background:#f2ebdd;border-color:#c6bcaa;box-shadow:0 5px 18px #07172040}
.header-contact .location-link:focus-visible{outline:3px solid #dc2626;outline-offset:3px}
.header-contact .location-link:active{background:#f2ebdd}
@media(max-width:600px){.header-contact .location-link{min-height:30px;padding:0 5px;gap:5px;font-size:10px}.header-contact .location-link img{width:16px;height:16px}}
@media(max-height:600px) and (min-width:601px){.header-contact .location-link{min-height:30px}}
