/* Architectural presentation: clear models, outside annotations and restrained colours. */
.labels{z-index:2}
.lb{font-weight:500;font-size:12px;padding:8px 11px;border-radius:6px;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);background:rgba(var(--bgr),.96);box-shadow:0 4px 18px #00000008;letter-spacing:.01em;white-space:nowrap}
.lb[hidden],.room-dot[hidden]{display:none}
.house-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.house-leader{fill:none;stroke:color-mix(in srgb,var(--ink) 34%,transparent);stroke-width:1}
.room-dot,.site-dot{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none}
.room-dot::before,.site-dot::before{content:"";position:absolute;width:6px;height:6px;left:-3px;top:-3px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 2px var(--bg)}
.room-dot::after,.site-dot::after{content:"";position:absolute;left:-7px;top:-7px;width:14px;height:14px;border:1px solid var(--acc);border-radius:50%;animation:location-pulse 2.4s ease-out infinite}
@keyframes location-pulse{0%{transform:scale(.65);opacity:.8}85%,100%{transform:scale(1.7);opacity:0}}
.stage[data-show="house"]::after{background:linear-gradient(90deg,rgba(var(--bgr),1) 0%,rgba(var(--bgr),1) 28%,rgba(var(--bgr),.94) 34%,rgba(var(--bgr),0) 45%)}
@media(min-width:821px){
  #p-cover .tx,.pn:is([data-scene="lot"],[data-scene="roof"],[data-scene="down"],[data-scene="price"]) .tx{width:31vw;max-width:460px}
  #p-cover h1{font-size:clamp(2.65rem,3.8vw,4rem);line-height:1.04;letter-spacing:-.025em}
  #p-cover .sub,.pn:is([data-scene="roof"],[data-scene="down"]) .sub{font-size:clamp(.95rem,1.14vw,1.1rem)}
  .pn:is([data-scene="roof"],[data-scene="down"]) h2{font-size:clamp(2rem,3.1vw,3.1rem);line-height:1.08;letter-spacing:-.025em}
}
.mp-pin{border-radius:7px;box-shadow:0 5px 18px #00000009;padding:7px 10px;background:rgba(var(--bgr),.97)}
.mp-pin b{font-size:12px}.mp-pin small{font-size:9px;line-height:1.4}
.mp-pin.now{background:rgba(var(--bgr),.98);color:var(--ink);border-color:color-mix(in srgb,var(--acc) 60%,transparent);box-shadow:0 5px 20px #0000000a}
.mp-pin.now b{color:var(--acc)}.mp-pin.now small{color:var(--mute)}
.mp-leaders path{fill:none;stroke:color-mix(in srgb,var(--ink) 34%,transparent);stroke-width:1}
.mp-leaders path.active{stroke:var(--acc);stroke-width:1.3}
.site-dot{z-index:2}.site-dot[hidden]{display:none}
.stage[data-show="plan"]::after{background:linear-gradient(90deg,rgba(var(--bgr),1) 0%,rgba(var(--bgr),.9) 22%,rgba(var(--bgr),0) 34%)}
.plans,.plan-dialog{--fp-paper:#fcfaf5;--fp-ink:#334141;--fp-wall:#384447;--fp-line:#90998f;--fp-floor:#f0eee5;--fp-wood:#e1d1b8;--fp-bath:#dce7e2;--fp-porch:#dedfd5;--fp-oak:#c3a888;--fp-rug:#ded4c0;--fp-sofa:#687c71;--fp-cushion:#bcc6b4;--fp-duvet:#9baea4;--fp-throw:#bd8b71}
html:not([data-theme="white"]):not([data-theme="day"]) .plans,
html:not([data-theme="white"]):not([data-theme="day"]) .plan-dialog{--fp-sofa:#7c8f7d;--fp-cushion:#c1c7b3;--fp-duvet:#8ba79b;--fp-throw:#bd8b71}
.floor-drawing .furniture{filter:drop-shadow(.018px .035px .026px #453a2528)}
.floor-drawing .room-label{font-weight:600;letter-spacing:.012px}
.floor-card figcaption small{color:#7c8781}
.top{background:linear-gradient(180deg,rgba(var(--bgr),.94),rgba(var(--bgr),.7) 70%,rgba(var(--bgr),0))}
@media(max-width:820px){
  .lb{font-size:9px;max-width:92px;white-space:normal;line-height:1.3;padding:6px 7px;text-align:center;border-radius:5px}
  .lb.dim{font-size:12px;white-space:nowrap}
  .room-dot::before,.site-dot::before{width:5px;height:5px;left:-2.5px;top:-2.5px}
  .stage[data-show="house"]::after{background:linear-gradient(0deg,rgba(var(--bgr),1) 0%,rgba(var(--bgr),.99) 37%,rgba(var(--bgr),0) 56%)}
  .stage[data-show="plan"]::after{background:linear-gradient(0deg,rgba(var(--bgr),1) 0%,rgba(var(--bgr),.98) 30%,rgba(var(--bgr),0) 51%)}
  .mp-pin{padding:6px 8px}.mp-pin b{font-size:10px}.mp-pin small{font-size:8px}
  .master-tools{top:70px}
  .pn:is([data-scene="roof"],[data-scene="down"]) .tx{padding-bottom:9px}
  .pn:is([data-scene="roof"],[data-scene="down"]) .sub{font-size:.93rem;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.room-dot::after,.site-dot::after{animation:none;opacity:.35}}
html:is([data-theme="white"],[data-theme="day"]) .stage[data-view="cover"]{background:linear-gradient(180deg,#c5dce9 0%,#f7fbfc 10%,#ffffff 18%,var(--bg) 100%)}

/* Master plan v4: source-matched phase palette and a separate roof-finish view. */
.master-tools{border-radius:16px;align-items:center;gap:4px}
.master-palette-label{display:flex;align-items:center;gap:8px;font:500 11px var(--f);color:var(--mute);border-left:1px solid var(--line);margin-left:6px;padding:0 6px 0 13px}
.master-palette-label select{font:600 12px var(--f);border:0;border-radius:5px;padding:8px 23px 8px 8px;background:var(--bg);color:var(--ink);cursor:pointer}
.master-tools button:focus-visible,.master-palette-label select:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.master-legend{bottom:79px;max-width:60vw;flex-wrap:wrap;justify-content:flex-end;row-gap:8px}
.master-legend small{flex-basis:100%;text-align:right;font-size:10px;color:var(--mute)}
.master-legend .tulip{background:#9382be}.master-legend .phases{background:linear-gradient(90deg,#cc6269 0% 33%,#e6a07b 33% 66%,#d77c9e 66%)}
.mp-pin b::before{content:"";display:inline-block;width:5px;height:5px;margin-right:6px;border-radius:50%;background:var(--phase-colour)}
.site-dot::before{background:var(--phase-colour,var(--acc))}.site-dot::after{border-color:var(--phase-colour,var(--acc))}
.mp-pin.now{border-color:#9382be}.mp-pin.now b{color:var(--ink)}
.mp-leaders path.active{stroke:#9382be}
@media(max-width:820px){
  .master-tools{top:69px;gap:3px;flex-wrap:wrap;width:calc(100% - 32px);max-width:340px;box-sizing:border-box;border-radius:14px;padding:5px 6px}
  .master-tools button{padding:7px 10px}
  .master-palette-label{flex-basis:100%;justify-content:center;border-left:0;border-top:1px solid var(--line);margin:0 4px;padding:2px 0 0;gap:8px;font-size:10px}
  .master-palette-label select{font-size:10px;padding:5px 10px}
  .mp-pin b::before{width:4px;height:4px;margin-right:4px}
  .master-legend{display:flex;top:145px;bottom:auto;right:0;left:0;max-width:none;justify-content:center;pointer-events:none}
  .master-legend>span,.master-legend>a{display:none}
  .master-legend small{text-align:center;flex-basis:auto;font-size:8px;line-height:1.25;max-width:90%}
}

/* A legible editorial column next to the architectural scene. */
@media(min-width:821px){
  .stage[data-view="cover"]::after{background:linear-gradient(90deg,rgba(var(--bgr),1) 0%,rgba(var(--bgr),1) 35%,rgba(var(--bgr),.94) 39%,rgba(var(--bgr),.25) 45%,rgba(var(--bgr),0) 51%)}
  #p-cover{padding-left:clamp(24px,4vw,90px);padding-right:24px}
  #p-cover .tx{width:30vw;max-width:445px}
  #p-cover h1{font-size:clamp(2.7rem,3.95vw,4.25rem);line-height:1.04}
  #p-cover .eyebrow{font-size:.7rem;max-width:31em;margin-bottom:22px}
  #p-cover .sub{font-size:clamp(.94rem,1.10vw,1.08rem);line-height:1.62;margin-top:24px}
  #p-cover .prices{gap:25px;margin-top:30px}
  #p-cover .prices small{font-size:.76rem}#p-cover .prices b{font-size:clamp(1.55rem,2.2vw,2rem)}
  #p-cover .cta{margin-top:30px}
}
@media(max-width:820px){.stage[data-view="cover"]::after{background:linear-gradient(0deg,rgba(var(--bgr),1) 0%,rgba(var(--bgr),1) 47%,rgba(var(--bgr),.82) 51%,rgba(var(--bgr),0) 57%)}}
