*{box-sizing:border-box} :root{font-family:Arial,Helvetica,sans-serif;color:#252b29;background:#f2f0eb;font-synthesis:none;--orange:#e56822;--ink:#202723;--line:#d6d9d1}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;font-size:13px;font-weight:600;border:1px solid var(--line);background:transparent;border-radius:7px;min-height:40px;padding:8px 15px;cursor:pointer;color:inherit}button:hover{background:#e9e7df}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:3px}button.active{background:var(--ink);border-color:var(--ink);color:white}header{height:91px;background:#171b19;color:#f6f2e9;display:flex;align-items:center;gap:26px;padding:0 4vw;border-bottom:3px solid var(--orange)}.brand{width:150px;height:64px;position:relative;overflow:hidden;display:block;flex:none}.brand img{position:absolute;width:150px;height:150px;left:0;top:-33px}.title span,.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#848f85}.title span{color:#d0c8bb}h1{font-size:26px;font-weight:400;letter-spacing:-.8px;margin:6px 0 0}h1 b{font-weight:700}.info{margin-left:auto;color:white;border-color:#5d625c;border-radius:50%;width:32px;min-height:32px;padding:0}main{max-width:1800px;margin:auto;padding:0 3.3vw}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 0 12px}.toolbar nav,.actions{display:flex;gap:6px}nav button{border:0}.actions button{background:#f8f6f1}.actions button[aria-pressed=true]{background:#fff0e5;border-color:var(--orange);color:#9d4315}#fly{border-color:#d09c76;color:#984414}.facts{display:flex;align-items:center;gap:29px;padding:0 0 12px;color:#6e746e;font-size:12px;white-space:nowrap}.facts b{color:#303932;font-weight:700;font-size:14px;margin-right:4px}.lot-fact{margin-left:auto}#viewport{position:relative;height:calc(100dvh - 280px);min-height:440px;max-height:1100px;background:radial-gradient(ellipse at 55% 40%,#e9eee8,#d9e0d6);border:1px solid #cdd5c9;border-radius:12px;overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:pan-y}#labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.roof-label{position:absolute;pointer-events:auto;width:44px;height:44px;border:0;padding:0;transform:translate(-50%,-50%);background:none!important;display:grid;place-items:center}.roof-label span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#222e28ef;color:white;border:1px solid #ffffffc0;font-size:11px;font-weight:700;box-shadow:0 2px 7px #16201740}.roof-label.selected span{background:var(--orange);color:#fff}.roof-label:hover span{background:#c45c22}#loading{position:absolute;inset:0;background:#e1e6dd;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;z-index:4}#loading span{font-size:12px;color:#6a7368}.spinner{width:25px;height:25px;border:2px solid #bbc5b5;border-top-color:var(--orange);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.compass{position:absolute;top:20px;left:22px;font-size:12px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:2px;color:#566953}.compass span{font-size:27px}#gesture{position:absolute;bottom:21px;left:50%;transform:translateX(-50%);background:#ffffffe8;border:1px solid #fff;border-radius:22px;padding:10px 17px;font-size:12px;color:#536051;pointer-events:none;white-space:nowrap}#view-caption{position:absolute;bottom:20px;left:22px;letter-spacing:1.7px;font-size:9px;color:#53634f;pointer-events:none}#selection{position:absolute;right:18px;top:18px;width:255px;padding:23px;background:#faf9f4f5;box-shadow:0 8px 36px #21351c20;border:1px solid white;border-radius:10px}#close-selection{position:absolute;right:6px;top:2px;border:0;font-size:24px;min-height:33px;padding:0 8px}#unit-name{font-size:25px;letter-spacing:-.8px;margin:10px 0}#unit-facts{font-size:13px;color:#5c635b}dl{margin:15px 0;display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:12px}dt{color:#6c736a}dd{margin:0;text-align:right;font-weight:600}#unit-parking{font-size:12px;line-height:1.5;border-top:1px solid var(--line);padding-top:12px}#unit-entry{width:100%;color:#a44718;background:#fff2e6;border-color:#e6cbb3}#walk-stops{display:flex;justify-content:center;gap:7px;padding-top:12px}#walk-stops[hidden],#selection[hidden]{display:none}.below{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0 16px;border-bottom:1px solid var(--line);font-size:12px}.below p{color:#687062;margin:0}.below>div{display:flex;align-items:center;gap:19px}.below button,.below a{border:0;padding:0;min-height:28px;font-size:12px;font-weight:600;color:#394735;text-decoration:none;background:none}footer{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.2px;color:#6f776a;padding:15px 0}footer i{font-style:normal;color:#9c9e90;margin-left:20px;font-size:8px}dialog{border:0;border-radius:14px;padding:25px;max-width:980px;width:90vw;max-height:88dvh;background:#faf9f4;color:#293328;box-shadow:0 25px 90px #1115}dialog::backdrop{background:#101711a8;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:20px}.dialog-head h2{margin:7px 0 0;font-size:26px;letter-spacing:-.7px}.dialog-head button{font-size:23px;border:0}#modal-body{font-size:14px;line-height:1.6}#modal-body h3{margin-top:25px;font-size:17px}#modal-body p{color:#5c6856}.audit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.audit-grid>div{border:1px solid var(--line);padding:18px;border-radius:8px;background:#f0f1e9}.audit-grid b{display:block;font-size:22px}.audit-grid small{color:#697461}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}td,th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);white-space:nowrap}th{background:#e9ece3}.notice{border-left:3px solid var(--orange);padding:8px 16px;background:#f8eddf}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gallery-grid figure{margin:0}.gallery-grid img{width:100%;display:block;border-radius:7px;background:#d9ddcf}.gallery-grid figcaption{padding-top:7px;font-size:12px}.download{display:inline-block;border:1px solid #c7cebe;border-radius:6px;padding:9px 14px;margin:8px 8px 8px 0;text-decoration:none;color:#3b4e32;font-size:12px}.status-pass{color:#466840}.status-pending{color:#9b531e}
@media(max-width:700px){header{height:74px;padding:0 16px;gap:14px}.brand{width:110px;height:55px}.brand img{width:110px;height:110px;top:-22px}h1{font-size:21px}.title span{font-size:8px;letter-spacing:1.1px}.info{width:28px;min-height:28px}main{padding:0 11px}.toolbar{flex-direction:column;align-items:stretch;gap:6px;padding:10px 0}.toolbar nav{justify-content:center}.toolbar nav button{flex:1;padding:8px;font-size:12px}.actions{justify-content:center}.actions button{min-height:35px;font-size:11px;padding:7px 15px}.facts{gap:0;justify-content:space-between;font-size:10px;padding-bottom:10px}.facts b{font-size:12px;margin-right:2px}.lot-fact{display:none}#viewport{height:calc(100dvh - 289px);min-height:410px;border-radius:9px}.compass{top:12px;left:13px}#gesture{bottom:17px;font-size:10px;padding:8px 12px}#view-caption{display:none}#selection{width:215px;right:9px;top:9px;padding:17px}#unit-name{font-size:22px}#selection p,dl{font-size:11px}#selection .eyebrow{font-size:8px}#selection dl{gap:6px}.below{flex-direction:column;padding:12px 0;gap:8px}.below p{font-size:10px}.below>div{gap:20px}.below button,.below a{font-size:11px}footer{font-size:8px;letter-spacing:.5px;padding:12px 0}footer i{display:none}#walk-stops{gap:4px;flex-wrap:wrap}#walk-stops button{font-size:10px;min-height:35px;padding:7px 10px}dialog{padding:18px;width:95vw;max-height:90dvh}.dialog-head h2{font-size:22px}.gallery-grid{grid-template-columns:1fr}.audit-grid{gap:8px}.audit-grid>div{padding:12px}.audit-grid b{font-size:18px}.audit-grid small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
[hidden]{display:none!important}@media(max-width:700px){.roof-label span{width:20px;height:20px;font-size:10px}}
.dimension-label{position:absolute;transform:translate(-50%,-50%);background:#fff9e9ee;border:1px solid #d4a886;padding:3px 6px;font-size:10px;font-weight:700;white-space:nowrap;color:#85481f;pointer-events:none;border-radius:3px}
