/* Interactive sales plan. Coordinates and sample inventory: plots.json. */
:root{--control-ink:#0a0a0a;--paper:#f2f2f2;
  --phase-1:#70aaff;--phase-2:#e8b965;--phase-3:#c1a0f2;
  --status-available:#7fe0b5;--status-reserved:#ffd16b;--status-sold:#686f79;--status-future:#b0ccff}
button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8f8f8f;outline-offset:4px}section[id]{scroll-margin-top:84px}
.nav .links a{white-space:nowrap}
.loc{grid-template-columns:1.3fr 1fr;align-items:end}.loc .facts{margin:0;grid-template-columns:1fr;gap:20px}.loc .fact{display:flex;align-items:baseline;gap:20px}.loc .fact .n{min-width:78px}.loc .fact .t{color:var(--gray)}
.plan-section{padding-top:80px}.plan-heading{max-width:1440px;padding:0 48px 32px;display:flex;align-items:end;justify-content:space-between;gap:40px;margin:auto}.plan-kicker{font-size:12px;letter-spacing:1.8px;text-transform:uppercase;color:var(--control-ink);margin-bottom:16px}.plan-heading h2{font-size:clamp(34px,4.3vw,58px);line-height:1.02;letter-spacing:-1.6px;font-weight:400}.plan-intro{max-width:350px;color:var(--gray);font-size:16px;line-height:1.6}.plan-intro span{display:block;margin-top:12px;font-size:12px;color:#777777}
.plan-toolbar{border-top:1px solid #dedede;border-bottom:1px solid #dedede;padding:18px 48px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:#f7f7f7}.plan-tabs{display:flex;gap:5px;flex-wrap:wrap}.plan-tabs button{padding:10px 16px;border:1px solid transparent;background:transparent;border-radius:30px;font-size:14px;color:#565656}.plan-tabs button[aria-pressed=true]{background:var(--control-ink);color:#ffffff}.plan-filter{display:flex;gap:8px;align-items:center;font-size:13px;margin-left:auto}.plan-filter select{background:#ffffff;border:1px solid #d3d3d3;border-radius:3px;padding:10px 28px 10px 12px;color:#353535;max-width:190px}.plan-available{display:flex;gap:7px;align-items:center;font-size:13px}.plan-available input{accent-color:var(--control-ink);width:16px;height:16px}
.plan-frame{position:relative;background:#363636}.map-viewport{height:calc(100vw * 995 / 1737);max-height:1100px;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#9e9e9e #363636}.plan-world{position:relative;width:100%;min-width:1000px;aspect-ratio:1737/995}.plan-world>img{width:100%;height:100%;object-fit:fill;pointer-events:none}.plan-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible}/* Color is reserved for the parcel overlay and its map keys. */
.plot{cursor:pointer;outline:none;transition:opacity .2s}
.plot[data-plot-phase="1"]{--plot-phase:var(--phase-1)}
.plot[data-plot-phase="2"]{--plot-phase:var(--phase-2)}
.plot[data-plot-phase="3"]{--plot-phase:var(--phase-3)}
.plot .lot{fill:#fff;fill-opacity:.18;stroke:#fff;stroke-opacity:.7;stroke-width:1.8;transition:fill-opacity .15s,stroke-width .15s}
.plot .pin{fill:var(--status-available);stroke:#fff;stroke-width:2}
.plot text{fill:#0a0a0a;font-family:var(--font);font-size:15px;font-weight:500;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.plot[data-status="reserved"] .pin{fill:var(--status-reserved)}
.plot[data-status="sold"] .pin{fill:var(--status-sold)}
.plot[data-status="sold"] text{fill:#fff}
.plot[data-status="future"] .pin{fill:var(--status-future)}
.plot:hover .lot,.plot:focus .lot,.plot.is-selected .lot{fill-opacity:.58;stroke:#fff;stroke-width:3}
.plot.is-selected .pin,.plot:focus .pin{stroke:#fff;stroke-width:4;filter:drop-shadow(0 1px 3px #0009)}
.plot.is-dimmed{opacity:.12;pointer-events:none}.plot.is-dimmed text{visibility:hidden}

.map-tools{position:absolute;left:28px;top:28px;display:flex;gap:1px;box-shadow:0 3px 15px #00000022;z-index:3}.map-tools button{border:0;background:#ffffff;color:#333333;min-width:42px;height:42px;padding:0 12px;font-size:22px}.map-tools button:last-child{font-size:12px;border-left:1px solid #dddddd}.map-tools button:disabled{color:#aaaaaa;cursor:default}.map-direction{position:absolute;left:32px;bottom:26px;color:#ffffff;font-size:12px;letter-spacing:1px;pointer-events:none}.map-direction b{display:block;font-size:24px;font-weight:400;margin-bottom:6px}.map-help{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);background:#222222d9;color:#ffffff;padding:10px 17px;border-radius:24px;font-size:12px;white-space:nowrap;pointer-events:none}
.plot-card{position:absolute;right:28px;top:28px;width:294px;background:#ffffff;padding:24px;box-shadow:0 8px 35px #00000022;z-index:4}.card-overline{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;color:#7f7f7f;text-transform:uppercase}.card-overline button{border:0;background:transparent;font-size:12px;color:var(--control-ink);text-decoration:underline;letter-spacing:0;text-transform:none}.plot-card h3{font-size:32px;font-weight:400;letter-spacing:-.8px;margin:20px 0 10px}.plot-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;padding:6px 9px;background:#f1f1f1;color:#4f4f4f}.plot-status::before,.legend-dot{content:'';width:7px;height:7px;border-radius:50%;background:var(--control-ink);display:inline-block}.plot-status[data-status=reserved]{background:#f1f1f1;color:#686868}.plot-status[data-status=reserved]::before{background:var(--status-reserved)}.plot-status[data-status=sold]{background:#efefef;color:#727272}.plot-status[data-status=sold]::before{background:var(--status-sold)}.plot-status[data-status=future]{background:#f1f1f1;color:#676767}.plot-status[data-status=future]::before{background:#a8a8a8}.plot-context{margin-top:18px;font-size:14px;color:#6f6f6f;line-height:1.5;min-height:42px}.plot-metrics{display:grid;grid-template-columns:1fr 1fr;margin:22px 0;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;padding:18px 0;gap:18px}.plot-metrics dt{font-size:11px;color:#7e7e7e}.plot-metrics dd{font-size:20px;margin-top:6px;color:#353535}.plot-price{font-size:28px;letter-spacing:-.7px;color:#383838}.plot-price-note{font-size:11px;color:#7f7f7f;margin:5px 0 20px}.plot-card .btn{width:100%;font-size:14px;padding:14px;background:var(--control-ink);color:#ffffff;border-color:var(--control-ink)}.plot-card .btn:hover{background:#353535}.plot-card .card-note{font-size:11px;line-height:1.5;margin-top:12px;color:#888888}.plan-summary{padding:20px 48px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #e1e1e1;font-size:13px;color:#636363}.plan-legend{display:flex;gap:20px;flex-wrap:wrap}.plan-legend span{display:flex;gap:7px;align-items:center}.legend-dot.reserved{background:var(--status-reserved)}.legend-dot.sold{background:var(--status-sold)}.legend-dot.future{background:#b4b4b4}.plan-result{color:var(--control-ink)}
.phase-timeline{max-width:1440px;padding:36px 48px 0;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.phase-step{border-top:2px solid #dbdbdb;padding:20px 0;text-align:left;background:none;border-left:0;border-right:0;border-bottom:0;color:#797979}.phase-step[aria-pressed=true]{border-top-color:var(--control-ink);color:var(--control-ink)}.phase-step small{font-size:11px;text-transform:uppercase;letter-spacing:1.2px}.phase-step strong{display:block;font-size:23px;font-weight:400;margin:12px 0 10px}.phase-step span{font-size:13px;line-height:1.5;display:block;max-width:330px}.plan-disclaimer{max-width:1440px;padding:12px 48px 0;margin:auto;font-size:12px;line-height:1.6;color:#808080}.plan-disclaimer a{text-decoration:underline}.map-poi rect{fill:#2d2d2d;fill-opacity:.9;rx:5}.map-poi text{fill:white;font-size:14px;text-anchor:middle;dominant-baseline:central;font-family:var(--font)}
.inquiry-dialog{border:0;max-width:480px;width:calc(100% - 32px);margin:auto;padding:36px;max-height:90dvh;overflow:auto;background:#ffffff;color:var(--ink)}.inquiry-dialog::backdrop{background:#202020bb;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:16px;top:12px;background:none;border:0;font-size:26px;color:#777777}.inquiry-dialog h2{font-size:32px;font-weight:400;letter-spacing:-.8px}.inquiry-dialog .intro{font-size:14px;color:#6f6f6f;line-height:1.6;margin:14px 0 24px}.inquiry-dialog label:not(.consent){font-size:13px;color:#5f5f5f;display:block;margin:16px 0 7px}.inquiry-dialog input:not([type=checkbox]){width:100%;padding:13px;border:1px solid #d2d2d2;background:#ffffff;border-radius:2px;font-size:16px}.inquiry-dialog .btn{width:100%;margin-top:22px;background:var(--control-ink);color:white}.inquiry-dialog .consent{font-size:12px;color:#777777}.inquiry-dialog .msg{display:block}.inquiry-dialog .msg:empty{display:none}.inquiry-dialog .alternative{font-size:12px;line-height:1.6;color:#777777;margin-top:16px}.inquiry-dialog .alternative a{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.plot-card{top:48px;right:48px;width:320px;padding:28px}.map-tools{top:48px;left:48px}}
@media(max-width:1100px){.plot-card{width:260px;right:20px;top:20px;padding:20px}.plot-card h3{font-size:28px;margin-top:15px}.plot-context{font-size:13px}.plot-metrics{margin:16px 0;padding:14px 0}.plan-filter{margin-left:0}.plan-toolbar{gap:16px}.plan-world{min-width:1080px}.map-viewport{height:620px}.plan-world{height:620px;width:1083px}}
@media(max-width:760px){.loc{grid-template-columns:1fr;gap:32px}.loc .facts{grid-template-columns:repeat(3,1fr);gap:12px}.loc .fact{display:block}.loc .fact .t{font-size:12px}.plan-section{padding-top:64px}.plan-heading{padding:0 24px 28px;display:block}.plan-intro{margin-top:20px;max-width:440px}.plan-heading h2{letter-spacing:-1px}.plan-toolbar{padding:16px 24px;gap:14px}.plan-tabs{gap:0}.plan-tabs button{padding:9px 12px;font-size:13px}.plan-filter{margin:0}.plan-filter select{max-width:145px}.plan-available{font-size:12px}.plan-world{min-width:1000px;width:1000px;height:573px}.map-viewport{height:573px}.map-tools{left:16px;top:16px}.plot-card{position:relative;width:100%;top:auto;right:auto;padding:24px;box-shadow:none;display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.card-overline,.plot-card h3,.plot-context,.plot-card .card-note{grid-column:1/-1}.plot-card h3{margin:12px 0}.plot-status{justify-self:start;grid-column:1/-1}.plot-context{min-height:0;margin-top:12px}.plot-metrics{grid-column:1/-1;margin:18px 0;grid-template-columns:repeat(4,1fr)}.plot-metrics dd{font-size:17px}.plot-price{font-size:24px}.plot-price-note{grid-column:1;grid-row:7;margin-bottom:0}.plot-card .btn{grid-column:2;grid-row:6/8;align-self:center;font-size:13px;padding:13px 8px}.map-direction{left:20px;bottom:auto;top:495px}.map-help{top:525px;bottom:auto;font-size:11px}.plan-summary{padding:20px 24px;display:block}.plan-legend{gap:12px 18px;font-size:12px}.plan-result{display:block;margin-top:14px}.phase-timeline{padding:28px 24px 0;grid-template-columns:1fr;gap:0}.phase-step{padding:18px 0;display:grid;grid-template-columns:100px 1fr;gap:8px 18px}.phase-step strong{font-size:21px;margin:0}.phase-step span{grid-column:2}.plan-disclaimer{padding:14px 24px 0}.inquiry-dialog{padding:30px 24px}.inquiry-dialog h2{font-size:28px}.nav .links a.plan-nav{display:inline-block;font-size:13px;padding:8px}.nav{gap:8px}.nav .btn{padding:8px 13px;font-size:13px}.brand{font-size:16px}.hero .bg{object-position:center 55%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Separate keys: polygon color = construction phase, round marker = sales status. */
.plot-status::before,.legend-dot{background:var(--status-available)}
.plot-status[data-status="reserved"]::before,.legend-dot.reserved{background:var(--status-reserved)}
.plot-status[data-status="sold"]::before,.legend-dot.sold{background:var(--status-sold)}
.plot-status[data-status="future"]::before,.legend-dot.future{background:var(--status-future)}
.plan-keys{display:grid;gap:13px}.plan-legend b{font-size:12px;font-weight:400;color:#737373;min-width:126px}
.phase-swatch{display:inline-block;width:12px;height:12px;border-radius:2px;flex:none;border:1px solid #0002}
.phase-swatch.phase-1{background:var(--phase-1)}.phase-swatch.phase-2{background:var(--phase-2)}.phase-swatch.phase-3{background:var(--phase-3)}
.phase-step small{display:flex;align-items:center;gap:8px}.phase-step strong{font-size:clamp(19px,1.7vw,24px);line-height:1.3}
.plot-start{font-size:12px;line-height:1.5;margin-top:10px;color:#707070;grid-column:1/-1}
@media(max-width:760px){.plan-keys{gap:18px}.plan-legend{gap:10px 16px}.plan-legend b{flex-basis:100%}.phase-step small{align-items:flex-start;line-height:1.5}.phase-step small .phase-swatch{margin-top:2px}.plot-price{grid-column:1;grid-row:7}.plot-price-note{grid-column:1;grid-row:8}.plot-card .btn{grid-column:2;grid-row:7/9}.plot-start{margin-top:8px}}
