@font-face{font-family:Cinzel;font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/cinzel-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/cinzel-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-weight:600 800;font-display:swap;src:url(/fonts/orbitron-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#16121f;--panel:#16111eeb;--ink:#f3e9d8;--muted:#b9a990;--brass:#d3a253;--brass-dark:#7d5a26;--copper:#c6713f;--cyan:#5beaff;--magenta:#d65cff;--living:#ffbf66;--corporate:#7fdcff;--downtown:#ff6ad5;--display:"Cinzel", Georgia, serif;--tech:"Orbitron", "Segoe UI", sans-serif;--body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}#scene{touch-action:none;opacity:0;width:100%;height:100%;transition:opacity .6s;display:block;position:fixed;inset:0}#scene.is-ready{opacity:1}.skip-link{z-index:30;background:var(--brass);color:#1d1309;border-radius:6px;padding:8px 14px;font-weight:700;transition:transform .2s;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}.og-shot .hud,.og-shot .intro,.og-shot #labels,.og-shot .loader,.og-shot .skip-link{display:none!important}#labels{pointer-events:none;position:fixed;inset:0;overflow:hidden}.label{pointer-events:auto;border:1px solid color-mix(in srgb, var(--accent) 60%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 0 14px color-mix(in srgb, var(--accent) 30%, transparent);white-space:nowrap;--accent:var(--brass);background:#100c16c7;border-radius:6px;flex-direction:column;align-items:center;gap:1px;padding:5px 10px 6px;transition:opacity .25s,box-shadow .2s,border-color .2s;display:flex;position:absolute;top:0;left:0}.label:after{content:"";background:inherit;border-right:inherit;border-bottom:inherit;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.label--living{--accent:var(--living)}.label--corporate{--accent:var(--corporate)}.label--downtown{--accent:var(--downtown)}.label__name{font-family:var(--tech);letter-spacing:.04em;color:var(--accent);font-size:12px;font-weight:700}.label__bldg{color:var(--muted);font-size:10px}.label.is-hover,.label:hover,.label:focus-visible{border-color:var(--accent);box-shadow:0 0 22px color-mix(in srgb, var(--accent) 65%, transparent);outline:none}.label.is-visited .label__name:before{content:"● ";color:var(--magenta)}.label.is-off{opacity:0;pointer-events:none}.district-label{text-align:center;font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--brass);text-shadow:0 0 12px #000c,0 0 2px #000;white-space:nowrap;font-size:15px;font-weight:700;transition:opacity .3s;position:absolute;top:0;left:0}.district-label small{font-family:var(--tech);letter-spacing:.3em;color:var(--muted);font-size:9px;display:block}.district-label.is-off{opacity:0}.hud{z-index:5;position:fixed}.hud--top{padding:max(14px, env(safe-area-inset-top)) 18px 14px;pointer-events:none;align-items:center;gap:16px;display:flex;top:0;left:0;right:0}.hud--top>*{pointer-events:auto}.brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand__gear{color:var(--brass);font-size:26px;line-height:1;animation:12s linear infinite spin;display:inline-block}.brand__name{font-family:var(--display);letter-spacing:.08em;text-shadow:0 2px 10px #0009;margin:0;font-size:22px;font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}.districts{gap:8px;margin-left:auto;display:flex}.chip{font-family:var(--tech);letter-spacing:.05em;background:#100c16b3;border:1px solid #d3a25366;border-radius:999px;padding:7px 14px;font-size:11px;font-weight:600;transition:border-color .2s,background .2s}.chip:hover,.chip:focus-visible{border-color:var(--brass);background:#3c2814cc;outline:none}.chip--living{color:var(--living)}.chip--corporate{color:var(--corporate)}.chip--downtown{color:var(--downtown)}.btn{border:1px solid var(--brass);color:#1d1309;font-family:var(--tech);letter-spacing:.06em;background:linear-gradient(#e2b468,#a8742f);border-radius:6px;align-items:center;gap:8px;padding:10px 18px;font-size:12px;font-weight:700;text-decoration:none;transition:transform .15s,filter .15s;display:inline-flex;box-shadow:inset 0 1px #fff6,0 4px 14px #00000059}.btn:hover,.btn:focus-visible{filter:brightness(1.1);outline:none;transform:translateY(-1px)}.btn--ghost{color:var(--brass);box-shadow:none;background:#100c16bf}.round{width:36px;height:36px;color:var(--brass);background:#100c16cc;border:1px solid #d3a25399;border-radius:50%;place-items:center;padding:0;font-size:20px;line-height:1;text-decoration:none;display:grid}.round:hover,.round:focus-visible{border-color:var(--brass);background:#3c2814e6;outline:none}.hud--zoom{right:18px;bottom:max(18px, env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex}.intro{z-index:5;left:18px;bottom:max(18px, env(safe-area-inset-bottom));background:var(--panel);border:1px solid #d3a25380;border-radius:10px;max-width:340px;padding:18px 22px;transition:opacity .5s,transform .5s;position:fixed;box-shadow:0 10px 40px #00000080}.intro.is-hidden{opacity:0;pointer-events:none;transform:translateY(20px)}.intro__title{font-family:var(--display);color:var(--brass);font-size:26px;margin:0 0 8px!important;line-height:1.2!important}.intro__kicker{font-family:var(--tech);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin:0;font-size:10px}.intro p{margin:0;font-size:14px;line-height:1.5}.intro strong{color:var(--magenta)}.intro__close{color:var(--muted);background:0 0;border:0;font-size:20px;position:absolute;top:8px;right:10px}.directory{z-index:8;background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-left:1px solid #d3a25366;width:min(380px,100%);padding:20px;transition:transform .35s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(105%);box-shadow:-10px 0 40px #00000080}.directory.is-open{transform:none}.directory__head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.directory h2{font-family:var(--display);color:var(--brass);margin:0;font-size:22px}.dir-district{margin-bottom:18px}.dir-district__head{text-align:left;background:0 0;border:0;border-bottom:1px solid #d3a2534d;width:100%;padding:8px 0;display:block}.dir-district__head span{font-family:var(--tech);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-size:9px;display:block}.dir-district__head strong{font-family:var(--display);color:var(--ink);font-size:17px}.dir-district__head em{color:var(--muted);font-size:12px;display:block}.dir-district ul{margin:8px 0 0;padding:0;list-style:none}.dir-item{text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:baseline;gap:12px;width:100%;padding:9px 10px;display:flex}.dir-item:hover,.dir-item:focus-visible{background:#d3a2531f;outline:none}.dir-item strong{font-family:var(--tech);color:var(--brass);font-size:13px}.dir-item span{color:var(--muted);font-size:12px}.modal{z-index:10;opacity:0;pointer-events:none;background:radial-gradient(#3c0a5059,#05020ab3);place-items:center;padding:20px;transition:opacity .35s;display:grid;position:fixed;inset:0}.modal.is-open{opacity:1;pointer-events:auto}.modal__panel{overscroll-behavior:contain;border:2px solid var(--brass-dark);background:linear-gradient(#ffffff0a,#0000 120px),repeating-linear-gradient(0deg,#ffffff04 0 2px,#0000 2px 4px),#17111f;border-radius:12px;width:min(620px,100%);max-height:calc(100dvh - 40px);padding:34px 38px 30px;transition:transform .4s cubic-bezier(.2,.9,.3,1.2);position:relative;overflow-y:auto;transform:translateY(16px)scale(.97);box-shadow:0 0 0 1px #000,inset 0 0 0 1px #d3a25359,0 0 50px #d65cff4d,0 30px 80px #0009}.modal.is-open .modal__panel{transform:none}.rivet{background:radial-gradient(circle at 35% 35%,#ffe2a8,#8a6125 70%);border-radius:50%;width:10px;height:10px;position:absolute;box-shadow:0 1px 2px #000}.rivet--tl{top:10px;left:10px}.rivet--tr{top:10px;right:10px}.rivet--bl{bottom:10px;left:10px}.rivet--br{bottom:10px;right:10px}.modal__close{position:absolute;top:18px;right:22px}#modal-title{font-family:var(--display);color:var(--ink);margin:0 40px 6px 0;font-size:clamp(28px,5vw,40px);line-height:1.1}.modal__tagline{color:var(--brass);margin:0 0 4px;font-size:17px}.modal__role{color:var(--muted);margin:0;font-size:13px}.modal__text{border-top:1px solid #d3a25340;margin-top:18px;padding-top:16px}.modal__text p{color:#e6dccb;margin:0 0 12px;font-size:15px;line-height:1.65}.modal__tags{flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.modal__tags li{color:#e7b6ff;font-family:var(--tech);letter-spacing:.06em;border:1px solid #d65cff73;border-radius:999px;padding:4px 10px;font-size:10px}.modal__links{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.loader{z-index:4;left:50%;bottom:max(24px, env(safe-area-inset-bottom));font-family:var(--tech);letter-spacing:.15em;color:var(--brass);pointer-events:none;background:#100c16cc;border:1px solid #d3a25366;border-radius:999px;padding:8px 16px;font-size:11px;transition:opacity .8s;position:fixed;transform:translate(-50%)}.loader.is-done{opacity:0;pointer-events:none}.fallback{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}body.no-webgl{overflow:auto}body.no-webgl #scene,body.no-webgl .hud,body.no-webgl .intro,body.no-webgl #labels{display:none}body.no-webgl .fallback{clip:auto;clip-path:none;white-space:normal;width:auto;max-width:720px;height:auto;margin:0 auto;padding:40px 20px;line-height:1.6;position:static}body.no-webgl .fallback a{color:var(--brass)}@media (width<=760px){.districts{left:0;right:0;bottom:max(14px, env(safe-area-inset-bottom));scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;margin:0;padding:0 12px;position:fixed;overflow-x:auto}.districts::-webkit-scrollbar{display:none}.chip{flex:none;padding:6px 12px;font-size:10px}.hud--top{justify-content:space-between}.brand__name{font-size:18px}.intro{max-width:none;inset:64px 12px auto}.hud--zoom{bottom:calc(76px + env(safe-area-inset-bottom))}.modal{padding:12px}.modal__panel{max-height:calc(100dvh - 24px);padding:28px 22px 24px}.label__bldg{display:none}}.socials{gap:14px;margin-top:16px;display:grid}.socials__group h3{font-family:var(--tech);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:11px}.socials__group ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.social{border:1px solid var(--net,var(--brass));color:var(--ink);border-radius:999px;gap:6px;padding:7px 14px;font-size:14px;text-decoration:none;transition:background .2s;display:inline-flex}.social:hover,.social:focus-visible{background:color-mix(in srgb, var(--net,var(--brass)) 25%, transparent);outline:none}.social--linkedin{--net:#2a8cff}.social--youtube{--net:#ff4a3a}.social--instagram{--net:#e1306c}.social--facebook{--net:#4a7dff}.lot-form{border-top:1px solid #d3a25340;gap:12px;margin-top:18px;padding-top:16px;display:grid}.lot-form label{font-family:var(--tech);letter-spacing:.06em;color:var(--muted);gap:6px;font-size:11px;display:grid}.lot-form input,.lot-form textarea{font:15px/1.5 var(--body);color:var(--ink);resize:vertical;background:#00000059;border:1px solid #d3a25359;border-radius:6px;padding:10px 12px}.lot-form input:focus,.lot-form textarea:focus{border-color:var(--brass);outline:none;box-shadow:0 0 0 3px #d3a25333}.lot-form .btn{justify-self:start}.lot-form .btn:disabled{opacity:.6;cursor:progress}.lot-form__trap{width:1px;height:1px;left:-9999px;overflow:hidden;position:absolute!important}.lot-form__note,.lot-form__thanks{color:var(--muted);margin:0;font-size:13px}.lot-form__thanks{color:var(--ink);font-size:15px}.lot-form__thanks a{color:var(--brass)}.score{z-index:5;top:max(64px, calc(env(safe-area-inset-top) + 56px));font-family:var(--tech);letter-spacing:.06em;color:var(--muted);pointer-events:none;background:#100c16cc;border:1px solid #d65cff8c;border-radius:999px;align-items:baseline;gap:8px;padding:6px 14px;font-size:11px;transition:opacity .4s;display:flex;position:fixed;left:18px;box-shadow:0 0 16px #d65cff40}.score.is-hidden{opacity:0}.score strong{color:var(--magenta);font-size:18px}.score.is-bump strong{animation:.35s ease-out score-bump}@keyframes score-bump{40%{color:#fff;transform:scale(1.45)}}.score-pop{font-family:var(--tech);color:#e7a6ff;text-shadow:0 0 10px #d65cffe6,0 1px 2px #000;pointer-events:none;font-size:18px;font-weight:800;animation:1.1s ease-out forwards score-pop;position:absolute;transform:translate(-50%,-50%)}.score-pop--big{color:#ffd27a;text-shadow:0 0 12px #ffb04ae6,0 1px 2px #000;font-size:26px}@keyframes score-pop{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}15%{opacity:1;transform:translate(-50%,-60%)scale(1.15)}to{opacity:0;transform:translate(-50%,-260%)scale(1)}}.cleared{z-index:9;border:2px solid var(--brass-dark);background:var(--panel);text-align:center;opacity:0;pointer-events:none;border-radius:12px;gap:6px;padding:18px 28px;transition:opacity .5s,transform .5s;display:grid;position:fixed;top:28%;left:50%;transform:translate(-50%,-20px)scale(.95);box-shadow:0 0 50px #d65cff66}.cleared.is-open{opacity:1;transform:translate(-50%)scale(1)}.cleared strong{font-family:var(--display);color:var(--brass);font-size:30px}.cleared span{color:var(--ink);font-size:14px}.og-shot .score,.og-shot .cleared{display:none!important}.only-coarse{display:none}@media (pointer:coarse){.only-coarse{display:block}.only-fine{display:none}.round{width:44px;height:44px;font-size:22px}.chip{min-height:36px}.label{padding:7px 12px 8px}.dir-item{padding:12px 10px}}@media (prefers-reduced-motion:reduce){.brand__gear{animation:none}}.perf-panel{z-index:60;color:#c8f0d0;white-space:pre;cursor:copy;background:#0a0810e0;border-radius:6px;max-width:calc(100vw - 16px);max-height:60vh;margin:0;padding:8px 10px;font:11px/1.35 ui-monospace,Menlo,Consolas,monospace;position:fixed;bottom:8px;right:8px;overflow:auto}
