.p2 .planbox{background:var(--white);border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.p2 .planscroll{padding:1.5rem 1.25rem;overflow-x:auto}.p2 svg.plan{width:100%;min-width:720px;height:auto;display:block}.p2 svg.plan .road{fill:var(--sand)}.p2 svg.plan .roadlabel{fill:var(--muted);letter-spacing:.18em;font-size:15px;font-weight:700}.p2 svg.plan .blocklabel{fill:var(--gold-ink);letter-spacing:.18em;font-size:12px;font-weight:700}.p2 svg.plan .compass{fill:var(--muted);letter-spacing:.14em;text-anchor:end;font-size:11px;font-weight:600}.p2 svg.plan .lot{cursor:pointer}.p2 svg.plan .lot rect{stroke-width:1.1px;transition:fill .16s,stroke .16s}.p2 svg.plan .lot text{text-anchor:middle;font-variant-numeric:tabular-nums;pointer-events:none;font-size:13px;font-weight:700}.p2 svg.plan .lot.is-av rect{fill:var(--white);stroke:var(--gold)}.p2 svg.plan .lot.is-av text{fill:var(--navy)}.p2 svg.plan .lot.is-sold rect{fill:var(--sand);stroke:var(--line)}.p2 svg.plan .lot.is-sold text{fill:var(--muted);font-weight:600}.p2 svg.plan .lot.is-res rect{fill:var(--sand-deep);stroke:var(--line)}.p2 svg.plan .lot.is-res text{fill:var(--muted);letter-spacing:.06em;font-size:10px}.p2 svg.plan .lot.is-av:hover rect,.p2 svg.plan .lot.is-av.is-active rect{fill:var(--navy);stroke:var(--navy)}.p2 svg.plan .lot.is-av:hover text,.p2 svg.plan .lot.is-av.is-active text{fill:var(--white)}.p2 svg.plan .lot.is-dim rect{opacity:.3}.p2 svg.plan .lot.is-dim text{opacity:.35}.p2 svg.plan .lot:focus{outline:none}.p2 svg.plan .lot:focus-visible rect{stroke:var(--teal);stroke-width:2.6px}.p2 .legend{border-top:1px solid var(--line);background:var(--cream);color:var(--muted);flex-wrap:wrap;gap:.5rem 1.6rem;padding:.9rem 1.35rem;font-size:.88rem;display:flex}.p2 .legend i{vertical-align:-2px;border:1px solid;border-radius:2px;width:13px;height:13px;margin-right:.5rem;display:inline-block}.p2 .legend .k--av i{background:var(--white);border-color:var(--gold)}.p2 .legend .k--sold i{background:var(--sand);border-color:var(--line)}.p2 .legend .k--res i{background:var(--sand-deep);border-color:var(--line)}.p2 .plannote{border-top:1px solid var(--line);background:var(--cream);color:var(--muted);margin:0;padding:.85rem 1.35rem;font-size:.82rem;line-height:1.55}.lotcard{z-index:55;pointer-events:none;opacity:0;background:var(--white);border:1px solid var(--line);border-top:2px solid var(--gold);box-shadow:var(--shadow-md);border-radius:8px;min-width:208px;max-width:268px;padding:.95rem 1.05rem;transition:opacity .13s,transform .13s;position:fixed;top:-9999px;left:-9999px;transform:translateY(4px)}.lotcard.is-on{opacity:1;pointer-events:auto;transform:none}.lotcard h4{font-family:var(--display);color:var(--navy);margin:0;font-size:1.3rem;font-weight:600;line-height:1.1}.lotcard .lc-block{letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);margin-top:.1rem;font-size:.66rem;font-weight:700;display:block}.lotcard .lc-price{border-top:1px solid var(--line);font-family:var(--display);color:var(--navy);font-variant-numeric:tabular-nums;margin:.6rem 0 .55rem;padding-top:.55rem;font-size:1.9rem;font-weight:600;line-height:1}.lotcard dl{font-variant-numeric:tabular-nums;grid-template-columns:auto 1fr;gap:.18rem .9rem;margin:0;font-size:.86rem;display:grid}.lotcard dt{color:var(--muted)}.lotcard dd{text-align:right;margin:0;font-weight:600}.lotcard .lc-flag{border-top:1px solid var(--line);color:var(--muted);margin:.55rem 0 0;padding-top:.55rem;font-size:.86rem}.lotcard .btn{justify-content:center;width:100%;margin-top:.85rem;padding:.7rem 1rem}.p2 .lotfilters{background:var(--white);border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:flex-end;gap:1rem 1.5rem;margin-bottom:1.5rem;padding:1.25rem 1.4rem;display:flex}.p2 .lotfilter{gap:.3rem;font-weight:600;display:grid}.p2 .lotfilter>span{letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);font-size:.7rem;font-weight:700}.p2 .lotfilter select{font:inherit;border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:6px;min-width:10rem;padding:.6rem .7rem;font-size:.95rem}.p2 .lotfilter input[type=range]{width:11rem;accent-color:var(--teal)}.p2 .lotfilter b{font-variant-numeric:tabular-nums;font-size:.95rem}.p2 .lotfilter--chk{align-items:center;gap:.55rem;padding-bottom:.45rem;display:flex}.p2 .lotfilter--chk input{width:1.05rem;height:1.05rem;accent-color:var(--teal)}.p2 .lotfilter--chk span{letter-spacing:0;text-transform:none;color:var(--ink);font-size:.95rem}.p2 .lotreset{padding:.6rem 1.1rem;font-size:.88rem}.p2 .lotcount{color:var(--muted);margin:0 0 .5rem auto;font-size:.92rem}.p2 .lotcount b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.15rem}.p2 .lottable{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);position:relative}.p2 .lottable table{border-collapse:collapse;width:100%;min-width:660px;font-size:.95rem}.p2 .lottable th{text-align:left;white-space:nowrap;background:var(--sand);border-bottom:1px solid var(--line);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);padding:.85rem .9rem;font-size:.7rem;font-weight:700}.p2 .lottable th.sortable{cursor:pointer;user-select:none}.p2 .lottable th.sortable:hover{color:var(--accent)}.p2 .lottable th.sortable:after{content:"";margin-left:.35rem}.p2 .lottable th.is-asc:after{content:"↑"}.p2 .lottable th.is-desc:after{content:"↓"}.p2 .lottable td{border-bottom:1px solid var(--line);white-space:nowrap;padding:.75rem .9rem}.p2 .lottable tbody tr:last-child td{border-bottom:0}.p2 .lottable tbody tr:hover{background:var(--cream)}.p2 .lottable tbody tr.is-active{background:#a8834e17}.p2 .lottable .num{font-variant-numeric:tabular-nums}.p2 .lottable .lotno{color:var(--navy);font-size:1.02rem;font-weight:700}.p2 .lottable .lotno small{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.66rem;font-weight:700;display:block}.p2 .lottable .price{font-variant-numeric:tabular-nums;font-weight:700}.p2 .lottable .sub{color:var(--muted);font-size:.82rem}.p2 .lottable .btn{padding:.5rem 1rem;font-size:.84rem}.p2 .lotempty{text-align:center;color:var(--muted);margin:0;padding:2.5rem 1rem}.p2 .linkbtn{font:inherit;color:var(--teal);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=760px){.p2 .lotcount{margin-left:0}.lotcard{max-width:min(268px,100vw - 2rem)}}@media (prefers-reduced-motion:reduce){.p2 svg.plan .lot rect,.lotcard{transition:none}}
