@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url("fonts/barlow-regular.woff") format("woff")}
@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url("fonts/barlow-medium.woff") format("woff")}
@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url("fonts/barlow-semibold.woff") format("woff")}
@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url("fonts/barlow-bold.woff") format("woff")}
@font-face{font-family:Barlow;font-style:normal;font-weight:800 900;font-display:swap;src:url("fonts/barlow-extrabold.woff") format("woff")}

:root{
  /* Project identity: replace these tokens and the logo for each client. */
  --brand-primary:#29934b;
  --brand-primary-rgb:41,147,75;
  --brand-action:#d83d48;
  --brand-action-rgb:216,61,72;
  --brand-accent:#f39a2b;
  --brand-accent-rgb:243,154,43;
  --accent:var(--brand-primary);
  --accent-bright:#65bd78;
  --accent-soft:rgba(var(--brand-primary-rgb),.18);
  --ink:#05070a;
  --glass:rgba(8,11,16,.58);
  --glass-strong:rgba(10,13,18,.94);
  --line:rgba(255,255,255,.17);
  --muted:rgba(255,255,255,.7);
  --safe-top:max(14px,env(safe-area-inset-top));
  --safe-bottom:max(14px,env(safe-area-inset-bottom));
}

*{box-sizing:border-box}
html,body,#slider,#pano-slider,#panorama{width:100%;height:100%;margin:0;overflow:hidden}
body{background:#020305;color:#fff;font-family:Barlow,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,a{font:inherit;-webkit-tap-highlight-color:transparent}
button{appearance:none}

.pano-slider{position:relative;background:#000}
.pano-slider::before{content:"";position:fixed;inset:0;z-index:3;pointer-events:none;opacity:.18;background:linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(180deg,#000,transparent 34%,transparent 70%,#000)}
.pano{position:absolute;inset:0}
.pano:focus{outline:none}
.pnlm-container{background:#020305}
.pnlm-load-box,.pnlm-about-msg,.pnlm-controls-container,.pnlm-panorama-info{display:none!important}

.loader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:#05070a;transition:opacity .45s ease;pointer-events:none}
.loader::before{content:"";position:absolute;inset:0;background:url("../panoramas/P00.jpg") center 62%/cover no-repeat;filter:saturate(.65) brightness(.26);transform:scale(1.02)}
.loader::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 58%,transparent 0 13%,rgba(0,0,0,.78) 82%)}
.loader.hide{opacity:0}
.loader-brand{position:relative;z-index:1;display:grid;justify-items:center;text-align:center}
.loader-brand small{font-size:12px;font-weight:700;letter-spacing:.25em;color:#aab6c8}
.loader-brand img{width:min(370px,72vw);height:auto;margin-top:18px;filter:drop-shadow(0 10px 28px rgba(0,0,0,.78))}
.loader-brand span{margin-top:24px;font-size:12px;letter-spacing:.14em;color:#9da8b8}
.loader-brand span::after{content:"";display:block;width:180px;height:2px;margin-top:14px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:loadline 1.2s ease-in-out infinite}
@keyframes loadline{0%,100%{transform:scaleX(.25);opacity:.35}50%{transform:scaleX(1);opacity:1}}

.vignette{position:fixed;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.58),transparent 25%,transparent 61%,rgba(0,0,0,.62)),linear-gradient(90deg,rgba(0,0,0,.25),transparent 18%,transparent 82%,rgba(0,0,0,.25))}
#transitionVeil{position:fixed;inset:0;z-index:40;pointer-events:none;opacity:0;background:radial-gradient(ellipse,transparent 25%,rgba(3,8,16,.22));transition:opacity .3s ease}
#transitionVeil.go{opacity:1}
#parcelLayer{position:fixed;inset:0;z-index:7;width:100%;height:100%;pointer-events:none;transition:opacity .22s ease}
.is-traveling #parcelLayer,.is-traveling .landmark-hotspot:not(.is-active),.is-traveling .route-hotspot:not(.is-active){opacity:0;pointer-events:none!important}
.is-traveling #panorama{pointer-events:none}
.is-traveling .route-hotspot,.is-traveling .landmark-hotspot{pointer-events:none!important}
button:disabled{cursor:default;opacity:.4}
.nav-link[hidden],.travel-notice[hidden],.travel-notice button[hidden]{display:none}
.travel-notice{position:fixed;z-index:65;top:108px;left:50%;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:12px 16px;transform:translateX(-50%);border:1px solid rgba(255,255,255,.2);border-radius:6px;background:rgba(7,12,20,.9);font-size:14px;line-height:1.35;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.travel-notice button{flex-shrink:0;padding:6px 10px;border:1px solid rgba(255,255,255,.5);border-radius:4px;background:transparent;color:#fff;cursor:pointer}
#pano-slider.parcel-hover{cursor:pointer}

.custom-navbar-360{position:fixed;inset:0 0 auto 0;z-index:60;pointer-events:none}
.navbar-brand{position:fixed;top:16px;left:22px;display:flex;align-items:flex-start;gap:8px;color:#fff;text-decoration:none;pointer-events:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.72))}
.navbar-brand img{display:block;width:158px;height:auto}
.navbar-brand em{display:grid;min-width:37px;height:24px;margin-top:3px;padding:0 7px;place-items:center;border:1px solid rgba(var(--brand-accent-rgb),.72);border-radius:999px;background:rgba(7,13,9,.4);font-size:11px;font-weight:800;font-style:normal;color:#fff;box-shadow:inset 0 0 18px rgba(var(--brand-accent-rgb),.12)}

.burger-menu{position:fixed;top:23px;right:25px;z-index:1002;display:flex;width:36px;height:32px;padding:10px 11px;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:rgba(var(--brand-primary-rgb),.92);box-shadow:0 8px 24px rgba(0,0,0,.25);cursor:pointer;pointer-events:auto}
.burger-menu span{display:block;width:100%;height:2px;border-radius:2px;background:#fff;transition:.3s;transform-origin:center}
.burger-menu.open span:nth-child(1){transform:rotate(45deg) translate(4px,3px)}
.burger-menu.open span:nth-child(2){opacity:0}
.burger-menu.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-3px)}

.navbar-nav{position:fixed;top:0;right:-360px;z-index:1000;display:flex;width:min(360px,100vw);height:100vh;height:100dvh;padding:90px 34px 28px;flex-direction:column;gap:9px;background:#0d1015;box-shadow:-24px 0 80px rgba(0,0,0,.42);overflow-y:auto;transition:right .35s ease;pointer-events:auto}
.navbar-nav>*{flex-shrink:0}
.navbar-nav.active{right:0}
.navbar-nav::before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(var(--brand-primary-rgb),.14),transparent 32%);pointer-events:none}
.nav-project{position:relative;margin-bottom:8px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.1)}
.nav-project small{display:block;font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--accent-bright)}
.nav-project strong{display:block;margin-top:8px;font-size:34px;letter-spacing:.03em}
.nav-project span{display:block;margin-top:5px;font-size:14px;color:#929ba8}
.nav-link{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:11px 0;border:0;background:transparent;color:#fff;text-align:left;text-decoration:none;font-size:15px;font-weight:700;cursor:pointer;transition:.2s ease}
.nav-link i{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:var(--accent-bright);font-size:13px}
.nav-link:hover,.nav-link.active{color:var(--accent-bright)}
.nav-link.active i{border-color:rgba(var(--brand-primary-rgb),.55);background:rgba(var(--brand-primary-rgb),.16);color:#fff}
.nav-footer{position:relative;display:grid;gap:5px;margin:16px -34px -28px;padding:24px 34px 28px;border-top:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035)}
.nav-footer span{font-size:13px;font-weight:800;letter-spacing:.12em}
.nav-footer small{font-size:12px;line-height:1.5;color:#7e8794}
.landmark-nav{position:relative;margin:10px 0 4px;padding:16px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.landmark-nav h2{margin:0 0 12px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#9caaba}
#landmarkLinks{display:grid;gap:6px}
.landmark-link{display:flex;width:100%;align-items:center;gap:12px;padding:5px;border:1px solid transparent;border-radius:5px;background:transparent;color:#fff;text-align:left;font-size:14px;font-weight:500;cursor:pointer}
.landmark-link img{flex-shrink:0;width:52px;height:38px;border-radius:3px;object-fit:cover}
.landmark-link>i{margin-left:auto;padding-right:5px;font-size:11px;color:var(--accent-bright)}
.landmark-link:hover,.landmark-link:focus-visible{border-color:rgba(var(--brand-primary-rgb),.42);background:rgba(var(--brand-primary-rgb),.14);outline:none}

#pano-title{position:absolute;bottom:22px;left:22px;z-index:20;max-width:min(780px,calc(100vw - 170px));padding:20px 24px 22px 27px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:linear-gradient(125deg,rgba(12,17,25,.88),rgba(6,9,14,.58));color:#fff;box-shadow:0 22px 70px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(16px) saturate(1.2);pointer-events:none;opacity:1;transform:none;transition:opacity .4s ease,transform .4s ease}
#pano-title::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:8px 0 0 8px;background:linear-gradient(180deg,var(--brand-accent),var(--accent));box-shadow:0 0 20px rgba(var(--brand-primary-rgb),.68)}
#pano-title.hide{opacity:0;transform:translateY(28px)}
.listing-card .badge{display:flex;width:max-content;align-items:center;gap:7px;margin-bottom:9px;color:#9fe0ad;font-size:11px;font-weight:800;letter-spacing:.13em}
.listing-card .badge i{width:7px;height:7px;border-radius:50%;background:#65f0bd;box-shadow:0 0 0 5px rgba(101,240,189,.1),0 0 15px rgba(101,240,189,.45)}
#pano-title .descp{display:flex;align-items:stretch;gap:22px}
#pano-title .maintitle{display:flex;min-width:240px;flex-direction:column;justify-content:center}
.listing-card .title{font-size:clamp(28px,3vw,42px);font-weight:600;letter-spacing:-.01em;line-height:1.05;text-wrap:balance}
.listing-card .address{margin-top:8px;font-size:14px;color:rgba(255,255,255,.78)}
.listing-card .tags{display:flex;min-width:128px;flex-direction:column;justify-content:center;gap:9px;padding:0 19px;border-left:1px solid rgba(255,255,255,.12);border-right:1px solid rgba(255,255,255,.12);font-size:12px;color:#c9d1de}
.listing-card .status{display:flex;align-items:center;gap:7px;color:#fff;font-weight:700}
.listing-card .status i{width:7px;height:7px;border-radius:50%;background:#51e6a9;box-shadow:0 0 0 5px rgba(81,230,169,.12)}
.listing-card .type{width:max-content;padding:4px 8px;border:1px solid rgba(var(--brand-primary-rgb),.34);border-radius:999px;background:rgba(var(--brand-primary-rgb),.12);font-weight:800;letter-spacing:.13em;color:#a6dfb2}
.listing-card .meta{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:7px 18px;font-size:12px;color:#b5becb}
.listing-card .meta span{white-space:nowrap}
.listing-card .meta b{color:#fff}
.listing-card .meta .sync-state b{color:var(--brand-accent)}

.nav.sld{position:absolute;top:50%;z-index:18;display:grid;width:48px;height:48px;padding:0;place-items:center;transform:translateY(-50%);border:0;background:transparent;color:#fff;font-size:34px;text-shadow:0 4px 15px #000;cursor:pointer;transition:.2s ease}
.nav.sld:hover{opacity:.65}.prev{left:8px}.next{right:8px}
.counter{position:absolute;right:24px;bottom:24px;z-index:20;padding:7px 11px;border:1px solid rgba(255,255,255,.12);border-radius:3px;background:rgba(8,11,16,.55);box-shadow:0 8px 20px rgba(0,0,0,.2);font-size:14px;font-weight:700;backdrop-filter:blur(7px)}
.counter .bigft{font-size:20px;color:#fff}.counter .count-total{color:rgba(255,255,255,.58)}
.fs-btn{position:absolute;top:21px;right:75px;z-index:61;display:grid;width:36px;height:34px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:5px;background:rgba(8,13,21,.72);color:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.25);backdrop-filter:blur(12px)}

.scene-back{position:fixed;z-index:22;left:22px;top:99px;display:flex;align-items:center;gap:8px;height:38px;padding:0 13px;border:1px solid var(--line);border-radius:4px;background:var(--glass);color:#fff;backdrop-filter:blur(12px);cursor:pointer;font-size:13px;font-weight:700}
.scene-back[hidden]{display:none}
.project-locator{position:fixed;z-index:22;left:22px;top:145px;display:flex;align-items:center;gap:8px;min-height:38px;padding:0 13px;border:1px solid rgba(var(--brand-accent-rgb),.62);border-radius:4px;background:rgba(42,29,9,.84);color:#fff3dc;backdrop-filter:blur(12px);cursor:pointer;font-size:13px;font-weight:600}
.project-locator[hidden]{display:none}
.project-locator i{color:var(--brand-accent)}
.project-locator:hover,.project-locator:focus-visible{background:rgba(78,49,10,.94);outline:1px solid var(--brand-accent);outline-offset:3px}
.travel-hint{position:fixed;z-index:16;left:50%;bottom:24px;display:flex;align-items:center;gap:10px;transform:translateX(-50%);padding:8px 13px 8px 8px;border:1px solid rgba(255,255,255,.13);border-radius:4px;background:rgba(5,8,12,.52);backdrop-filter:blur(8px);pointer-events:none;transition:.5s ease}
.travel-hint.fade{opacity:0;transform:translate(-50%,9px)}
.travel-hint>i{display:grid;width:32px;height:32px;place-items:center;border-radius:3px;background:var(--accent);color:#fff}
.travel-hint span{display:grid;line-height:1.1;white-space:nowrap}.travel-hint b{font-size:12px}.travel-hint small{margin-top:4px;font-size:11px;color:#aab3c0}

.route-hotspot{width:56px!important;height:56px!important;margin:0!important;border:0!important;border-radius:50%;background:transparent!important;cursor:pointer!important;pointer-events:auto;outline:none;transition:opacity .2s ease}
.route-ring,.route-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;transition:width .22s ease,height .22s ease,background .22s ease,box-shadow .22s ease}
.route-ring{width:38px;height:38px;border:1px solid rgba(255,255,255,.85);background:rgba(13,22,37,.12);box-shadow:0 2px 14px rgba(0,0,0,.2)}
.route-core{width:9px;height:9px;background:var(--brand-primary);box-shadow:0 0 0 5px rgba(var(--brand-primary-rgb),.18),0 1px 5px rgba(0,0,0,.28)}
.route-hotspot:hover .route-ring,.route-hotspot:focus-visible .route-ring{width:48px;height:48px;background:rgba(var(--brand-primary-rgb),.16);box-shadow:0 0 0 5px rgba(var(--brand-primary-rgb),.1)}
.route-hotspot:focus-visible{outline:2px solid #fff;outline-offset:4px}
.route-hotspot.is-active .route-ring{animation:route-depart .65s ease-out both}
.route-hotspot.is-active .route-core{box-shadow:0 0 0 11px rgba(var(--brand-primary-rgb),.2)}
@keyframes route-depart{to{width:76px;height:76px;opacity:0}}

.landmark-hotspot{width:auto!important;height:44px!important;margin:0!important;display:flex!important;align-items:center;gap:10px;padding:0 12px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:5px!important;background:rgba(7,10,14,.62)!important;color:#fff!important;backdrop-filter:blur(8px);cursor:pointer!important;pointer-events:auto;transition:opacity .2s ease,background .2s ease,border-color .2s ease}
.landmark-core{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--brand-action);box-shadow:0 0 0 5px rgba(var(--brand-action-rgb),.18)}
.landmark-hotspot span{font-size:12px;font-weight:600;white-space:nowrap}
.landmark-hotspot:hover,.landmark-hotspot:focus-visible{border-color:var(--brand-action)!important;background:rgba(20,11,12,.88)!important;outline:1px solid var(--brand-action);outline-offset:3px}
.landmark-hotspot.is-active .landmark-core{animation:landmark-depart .6s ease-out both}
@keyframes landmark-depart{to{box-shadow:0 0 0 17px rgba(var(--brand-action-rgb),0)}}
.project-hotspot{border-color:rgba(var(--brand-accent-rgb),.9)!important;background:rgba(44,29,7,.88)!important;box-shadow:0 0 0 4px rgba(var(--brand-accent-rgb),.12),0 8px 28px rgba(0,0,0,.25)}
.project-hotspot span{font-size:14px;font-weight:700;letter-spacing:.06em}
.project-hotspot .landmark-core{background:var(--brand-accent);box-shadow:0 0 0 5px rgba(var(--brand-accent-rgb),.24)}
.landmarks-hidden .landmark-hotspot:not(.project-hotspot){display:none!important}
.landmark-view .terrain-key,.landmark-view .listing-card .tags,.landmark-view .listing-card .meta,.landmark-view #planToggle,.landmark-view #planQuick,.landmark-view #counter,.landmark-view #prevScene,.landmark-view #nextScene{display:none}
.landmark-view #pano-title{max-width:min(510px,calc(100vw - 90px))}
.landmark-view .listing-card .badge i{background:var(--brand-accent);box-shadow:none}

.lot-info-card{position:fixed;z-index:30;right:24px;top:50%;width:min(370px,calc(100vw - 32px));padding:24px;transform:translate(34px,-50%);border:1px solid rgba(255,255,255,.16);border-radius:10px;background:linear-gradient(145deg,rgba(13,18,27,.97),rgba(6,9,14,.93));box-shadow:0 30px 90px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(22px);opacity:0;pointer-events:none;transition:.25s ease}
.lot-info-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;border-radius:10px 10px 0 0;background:linear-gradient(90deg,var(--brand-action),var(--brand-accent),transparent)}
.lot-info-card.open{opacity:1;transform:translate(0,-50%);pointer-events:auto}
.lot-info-card>small{color:#9fe0ad;font-size:11px;font-weight:800;letter-spacing:.15em}
.lot-info-card>button{position:absolute;top:12px;right:12px;display:grid;width:32px;height:32px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:3px;background:rgba(255,255,255,.06);color:#fff;cursor:pointer}
.lot-info-title{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:10px}
.lot-info-title strong{font-size:36px;letter-spacing:-.03em}.lot-info-title span{padding:5px 7px;border-radius:3px;background:rgba(245,199,108,.1);color:#f5c76c;font-size:11px;font-weight:700}
.lot-info-meta{display:grid;grid-template-columns:.8fr .8fr 1.4fr;gap:1px;margin-top:19px;border:1px solid rgba(255,255,255,.09);border-radius:6px;background:rgba(255,255,255,.07);overflow:hidden}.lot-info-meta span{display:grid;gap:4px;padding:12px 11px;background:rgba(7,10,15,.75);color:#9da7b4}.lot-info-meta small{font-size:9px;font-weight:800;letter-spacing:.13em;color:#718099}.lot-info-meta b{font-size:16px;color:#fff}
.lot-info-card p{margin:15px 0;color:#adb6c3;font-size:13px;line-height:1.55}
.lot-info-card>a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 14px;border-radius:4px;background:var(--brand-action);color:#fff;text-align:center;text-decoration:none;font-size:13px;font-weight:800}

.product-separation{position:fixed;z-index:17;left:50%;top:26px;display:flex;align-items:center;gap:7px;transform:translateX(-50%);color:rgba(255,255,255,.55);font-size:9px;font-weight:750;letter-spacing:.11em;pointer-events:none;text-shadow:0 2px 8px #000}.product-separation span{color:#9fe0ad}.product-separation i{width:1px;height:14px;margin:0 4px;background:rgba(255,255,255,.24)}

.view-tools{position:fixed;z-index:22;right:22px;top:76px;display:grid;gap:7px}
.view-tools button{position:relative;display:grid;width:42px;height:42px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:rgba(7,11,17,.6);color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.2);backdrop-filter:blur(14px);cursor:pointer;transition:.18s ease}
.view-tools button:hover,.view-tools button:focus-visible,.view-tools button.active{border-color:rgba(var(--brand-primary-rgb),.68);background:rgba(var(--brand-primary-rgb),.28);box-shadow:0 0 0 4px rgba(var(--brand-primary-rgb),.1),0 10px 26px rgba(0,0,0,.25)}
.view-tools button i{font-size:16px}.view-tools button span{position:absolute;right:50px;padding:6px 8px;border-radius:4px;background:rgba(5,8,13,.9);color:#fff;font-size:11px;font-weight:750;white-space:nowrap;opacity:0;transform:translateX(4px);pointer-events:none;transition:.18s}.view-tools button:hover span,.view-tools button:focus-visible span{opacity:1;transform:none}

.terrain-key{position:fixed;z-index:18;right:24px;bottom:75px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:5px;background:rgba(6,9,14,.58);box-shadow:0 9px 25px rgba(0,0,0,.2);backdrop-filter:blur(12px);pointer-events:none;color:#b9c2cf;font-size:11px}.terrain-key i{width:10px;height:10px;border:1px solid var(--accent-bright);background:rgba(var(--brand-primary-rgb),.28)}.terrain-key b{padding-left:8px;border-left:1px solid rgba(255,255,255,.12);color:#fff;font-size:11px}

.lot-hover{position:fixed;z-index:29;display:grid;grid-template-columns:auto auto;gap:2px 12px;min-width:155px;padding:9px 11px;transform:translate(15px,15px);border:1px solid rgba(255,255,255,.14);border-radius:6px;background:rgba(7,10,16,.88);box-shadow:0 14px 34px rgba(0,0,0,.32);backdrop-filter:blur(14px);opacity:0;pointer-events:none;transition:opacity .12s ease}
.lot-hover.show{opacity:1}.lot-hover span{font-size:14px;font-weight:900;color:#fff}.lot-hover strong{font-size:12px;color:#9fe0ad;text-align:right}.lot-hover small{grid-column:1/-1;color:#8e99a8;font-size:10px}

@media(max-width:980px){
  #pano-title{max-width:calc(100vw - 120px)}
  .listing-card .meta{display:none}
  .product-separation{display:none}
}
@media(max-width:760px){
  .navbar-brand{top:12px;left:10px}.navbar-brand img{width:126px}.navbar-brand em{min-width:32px;height:21px;margin-top:0;font-size:9px}
  .burger-menu{top:18px;right:15px}.fs-btn{top:18px;right:60px}
  #pano-title{left:8px;bottom:8px;width:calc(100vw - 54px);max-width:none;padding:15px 16px 16px}
  #pano-title .descp{display:block}#pano-title .maintitle{min-width:0}.listing-card .title{font-size:25px}.listing-card .address{font-size:12px}.listing-card .tags{display:flex;margin-top:12px;padding:0;border:0;flex-direction:row;gap:14px}
  .landmark-view #pano-title{max-width:none}
  .nav.sld{width:36px;height:44px;font-size:27px}.prev{left:0}.next{right:0}
  .counter{display:none}.travel-hint{bottom:126px}.travel-hint small{display:none}
  .view-tools{top:65px;right:9px;gap:5px}.view-tools button{width:38px;height:38px}.view-tools button span{display:none}.terrain-key{right:9px;bottom:117px}.lot-hover{display:none}
  .scene-back{left:10px;top:80px}.scene-back span{display:none}
  .project-locator{left:10px;top:126px}
  .landmark-view .scene-back span{display:inline}
  .landmark-hotspot{gap:8px;padding:0 9px!important}.landmark-hotspot span{font-size:11px}
  .project-hotspot span{font-size:13px}
  .lot-info-card{right:10px;top:auto;bottom:10px;width:calc(100vw - 20px);padding:20px;transform:translateY(24px)}.lot-info-card.open{transform:none}.lot-info-title strong{font-size:30px}
}
@media(max-width:420px){
  .navbar-nav{padding-left:24px;padding-right:24px}
  .nav-footer{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}
  .travel-hint{bottom:122px}
}
@media(max-height:620px){.travel-hint{display:none}.lot-info-card{top:auto;bottom:10px;transform:translateY(24px)}.lot-info-card.open{transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Quiet inventory controls: the panorama remains the main surface. */
[hidden] { display:none !important; }
.project-info-toggle { position:absolute; z-index:24; left:22px; bottom:22px; border:1px solid #ffffff35; border-radius:24px; background:#101713d9; color:white; font:500 14px Barlow,sans-serif; padding:12px 17px; cursor:pointer; backdrop-filter:blur(12px); }
#pano-title { bottom:78px; max-width:560px; padding:24px; border-radius:16px; }
#pano-title .descp { display:block; }
#pano-title .maintitle { border:0; padding:0; }
#pano-title .title { font-size:28px; }
#pano-title .tags { border:0; padding:16px 0; display:flex; gap:12px; }
#pano-title .meta { padding:0; border:0; font-size:14px; }
.panel-close { position:absolute; top:8px; right:12px; color:white; background:none; border:0; font:28px Barlow,sans-serif; width:36px; height:36px; cursor:pointer; }
.selection-capsule { position:absolute; z-index:25; left:50%; bottom:22px; transform:translateX(-50%); display:flex; align-items:center; gap:22px; background:#101713ee; color:white; border:1px solid #ffffff35; padding:14px 20px; border-radius:32px; backdrop-filter:blur(16px); cursor:pointer; font:500 15px Barlow,sans-serif; white-space:nowrap; box-shadow:0 8px 28px #0003; }
.selection-capsule strong { font-weight:600; color:#a4edb6; }
.selection-notice { position:absolute; z-index:25; top:110px; left:50%; transform:translateX(-50%); max-width:calc(100% - 150px); font-size:14px; color:#fff; text-align:center; pointer-events:none; background:#101713d9; padding:8px 14px; border-radius:10px; }
.selection-notice:empty { display:none; }
.selection-panel { top:auto; bottom:88px; right:24px; left:auto; transform:none; width:min(400px,calc(100% - 32px)); max-height:calc(100dvh - 180px); overflow-y:auto; padding:24px; border-radius:18px; background:#111b16ed; border:1px solid #ffffff30; backdrop-filter:blur(18px); }

/* En escritorio, las superficies fijas usan color translúcido en vez de
   recalcular el fondo desenfocado mientras se mueve la panorámica. */
@media (min-width:900px){
  .view-tools button,.counter,.fs-btn,.travel-hint,.terrain-key,.project-info-toggle,.selection-capsule{backdrop-filter:none;-webkit-backdrop-filter:none}
  .view-tools button{background:rgba(7,11,17,.82)}
  .counter,.travel-hint,.terrain-key{background:rgba(6,9,14,.78)}
  .fs-btn{background:rgba(8,13,21,.88)}
}
.selection-panel.open { transform:none; }
.selection-panel h2 { margin:8px 0 22px; font-size:25px; font-weight:600; }
.selected-lot { display:flex; justify-content:space-between; gap:14px; border-bottom:1px solid #ffffff24; padding:14px 0; }
.selected-lot > div { display:flex; flex-direction:column; gap:5px; }
.selected-lot > div:last-child { text-align:right; align-items:flex-end; }
.selected-lot strong { font-size:20px; }
.selected-lot span { font-size:14px; color:#c4d1c8; }
.selected-lot b { font-size:16px; font-weight:600; }
.selected-lot button,.clear-selection { background:none; color:#c4d1c8; font:500 14px Barlow,sans-serif; border:0; text-decoration:underline; padding:7px 0; cursor:pointer; }
.selection-total { display:flex; flex-direction:column; padding-top:18px; gap:5px; }
.selection-total > span { font-size:14px; color:#c4d1c8; margin-bottom:8px; }
.selection-total small { font-size:14px; }
.selection-total strong { font-size:30px; }
.selection-panel p { font-size:14px; line-height:1.45; }
.selection-panel .inquiry-action { display:flex; justify-content:center; align-items:center; gap:8px; width:100%; border:0; border-radius:9px; padding:13px; margin-top:10px; color:white; background:#207a40; font:600 16px Barlow,sans-serif; cursor:pointer; text-decoration:none; }
.selection-panel #copyInquiry { background:#ffffff12; border:1px solid #ffffff24; }
.selection-panel textarea { width:100%; height:120px; margin-top:12px; font:14px Barlow; }
.clear-selection { display:block; margin:10px auto 0; }
.terrain-key { display:none; }
.counter { bottom:26px; }
.travel-hint { bottom:88px; }
button:focus-visible,a:focus-visible { outline:2px solid #a4edb6; outline-offset:4px; }
@media(max-width:700px) {
 .project-info-toggle { left:12px; bottom:18px; padding:11px 13px; }
 .selection-capsule { bottom:76px; padding:12px 16px; gap:15px; max-width:calc(100% - 24px); font-size:14px; }
 .selection-panel { right:12px; bottom:134px; width:calc(100% - 24px); max-height:calc(100dvh - 225px); padding:20px; }
 #pano-title { bottom:76px; left:12px; width:calc(100% - 24px); max-height:calc(100dvh - 180px); overflow-y:auto; }
 .selection-notice { top:96px; max-width:calc(100% - 130px); font-size:13px; }
 .travel-hint { bottom:135px; }
}

.selection-panel > button:not(#lotInfoClose) { position:static; height:auto; right:auto; top:auto; display:block; }
.selection-panel > .clear-selection { width:auto; border:0; background:none; margin:12px auto 0; padding:8px; }
.selection-panel::before { display:none; }
#pano-title .meta .sync-state { grid-column:1/-1; white-space:normal; }

.lot-picker { margin:18px 0; font-size:14px; }
.lot-picker label { display:block; margin-bottom:8px; color:#c4d1c8; }
.lot-picker>div { display:flex; gap:8px; }
.lot-picker select { min-width:0; flex:1; background:#15251a; color:white; border:1px solid #ffffff30; border-radius:6px; padding:10px; font:14px Barlow; }
.lot-picker button { background:#207a40; color:white; border:0; border-radius:6px; padding:10px; font:600 14px Barlow; cursor:pointer; }
.lot-legend { display:flex; flex-wrap:wrap; gap:10px 14px; padding-top:12px; grid-column:1/-1; font-size:13px; }
.lot-legend span { display:flex; align-items:center; gap:5px; }
.lot-legend i { width:9px; height:9px; border-radius:3px; background:#d4dce1; }
.lot-legend .available { background:#26cd8b; }.lot-legend .reserved { background:#f6b842; }.lot-legend .sold { background:#e74a59; }.lot-legend .chosen { background:#489bef; }

.lead-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:18px;background:rgba(3,10,7,.72);backdrop-filter:blur(10px)}
.lead-modal[hidden]{display:none}
.lead-form{position:relative;width:min(430px,100%);padding:30px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:#0d1d16;color:#fff;box-shadow:0 24px 80px rgba(0,0,0,.45);font-family:Barlow,sans-serif}
.lead-form>small{color:#f59d45;font-weight:700;letter-spacing:.12em}.lead-form h2{margin:8px 0 8px;font-size:28px}.lead-form>p{color:#b8c8c0;line-height:1.45}
.lead-form label{display:block;margin-top:16px;color:#dbe6e0;font-size:14px}.lead-form input{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:#13271e;color:#fff;font:16px Barlow,sans-serif;box-sizing:border-box}
.lead-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;background:transparent;color:#fff;cursor:pointer}.lead-submit{width:100%;margin-top:20px;padding:14px;border:0;border-radius:9px;background:#e77e22;color:#fff;font:700 16px Barlow,sans-serif;cursor:pointer}.lead-submit:disabled{opacity:.55}.lead-message{min-height:20px;margin:12px 0 0!important;color:#b8c8c0!important;text-align:center}.lead-message.ok{color:#69d6a2!important}.lead-message.error{color:#ff9b9b!important}
