/* ---------- home hero: rendered building tour ---------- */
.hero.walk .hero-in{display:block;padding-block:46px 40px}
.wt-head{display:grid;grid-template-columns:1.15fr .85fr;gap:24px 48px;align-items:end;margin-bottom:28px}
.wt-head .dh{margin:0}
.wt-side .lede{font-size:1.02rem;margin-bottom:18px}
.wt-side .cta-btns{display:flex;gap:10px;flex-wrap:wrap}
.wt-side .cta-btns .btn{width:auto}
@media(max-width:900px){.wt-head{grid-template-columns:1fr;gap:14px}.hero.walk .hero-in{padding-block:34px 30px}}

.wt{position:relative;margin-inline:auto;max-width:max(640px,min(100%,calc((100vh - 290px) * 1.7778)))}
.wt-stage{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#07080A;isolation:isolate;
  box-shadow:0 50px 90px -40px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.06),0 0 0 1px rgba(163,200,100,.05) inset}
.wt-cam{position:absolute;inset:0;transform-origin:50% 55%;transition:transform .42s cubic-bezier(.3,.7,.3,1),filter .4s}
.wt-cam.drift{transform:scale(1.04);transition:transform 10s cubic-bezier(.25,.1,.25,1)}
.wt-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
.wt-still.b{opacity:0;transform:scale(1.025);transition:opacity .75s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.wt-still.b.on{opacity:1;transform:none}
.wt-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s ease;z-index:2;pointer-events:none;background:transparent}
.wt-vid.on{opacity:1;transition:none}
.wt-shade{position:absolute;inset:0;z-index:3;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 45%,transparent 60%,rgba(0,0,0,.38) 100%),linear-gradient(180deg,rgba(0,0,0,.22),transparent 18%,transparent 78%,rgba(0,0,0,.3))}
.wt-cam.focus{filter:brightness(.82) saturate(.95)}

.wt-hs{position:absolute;inset:0;pointer-events:none;z-index:1}
.wt-dot{position:absolute;width:38px;height:38px;margin:-19px 0 0 -19px;padding:0;border:0;background:none;cursor:pointer;
  opacity:0;transform:scale(.4);pointer-events:none;transition:opacity .4s ease,transform .55s cubic-bezier(.2,1.5,.35,1)}
.wt-dot.on{opacity:1;transform:none;pointer-events:auto;transition-delay:calc(var(--k) * 80ms + 150ms)}
.wt-dot .core{position:absolute;inset:13px;border-radius:50%;background:#fff;
  box-shadow:0 0 0 4px rgba(163,200,100,.55),0 0 22px 4px rgba(163,200,100,.55),0 2px 6px rgba(0,0,0,.6);transition:transform .25s,box-shadow .25s}
.wt-dot .ring{position:absolute;inset:3px;border-radius:50%;border:1.5px solid rgba(255,255,255,.85);animation:wtPulse 2.6s ease-out infinite;animation-delay:calc(var(--k) * -.29s)}
.wt-dot:hover .core,.wt-dot:focus-visible .core,.wt-dot.sel .core{transform:scale(1.35);box-shadow:0 0 0 5px rgba(163,200,100,.85),0 0 30px 8px rgba(163,200,100,.6)}
.wt-dot:focus-visible{outline:none}
.wt-dot.sel .ring{animation:none;opacity:0}
.wt-dot .lbl{position:absolute;left:calc(50% + 22px);top:50%;transform:translate(-6px,-50%);white-space:nowrap;
  background:rgba(12,14,11,.72);backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(10px) saturate(1.3);
  border:1px solid rgba(255,255,255,.12);color:#F2F4EC;font:600 .76rem/1 "IBM Plex Sans",sans-serif;letter-spacing:.01em;
  padding:8px 12px;border-radius:99px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
.wt-dot.lbl-l .lbl{left:auto;right:calc(50% + 22px);transform:translate(6px,-50%)}
.wt-dot:hover .lbl,.wt-dot:focus-visible .lbl,.wt-dot.peek .lbl{opacity:1;transform:translate(0,-50%)}
.wt-dot.sel .lbl{opacity:0}
@keyframes wtPulse{0%{transform:scale(.55);opacity:.9}75%{transform:scale(1.35);opacity:0}100%{transform:scale(1.35);opacity:0}}

.wt-nav{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:8px;transform:translate(-50%,-50%) scale(.6);opacity:0;pointer-events:none;
  padding:7px 8px 7px 14px;border:0;border-radius:99px;cursor:pointer;white-space:nowrap;
  background:rgba(163,200,100,.94);color:#0B0C0A;font:700 .8rem/1 "IBM Plex Sans",sans-serif;letter-spacing:.01em;
  box-shadow:0 10px 28px -8px rgba(0,0,0,.75),0 0 0 4px rgba(163,200,100,.22);transition:opacity .4s,transform .5s cubic-bezier(.2,1.4,.35,1),background .2s}
.wt-nav-l{padding:7px 14px 7px 8px}
.wt-nav.on{opacity:1;transform:translate(-50%,-50%);pointer-events:auto;transition-delay:.55s}
.wt-nav:hover,.wt-nav:focus-visible{background:#C2E08A;outline:none}
.wt-nav .ic{width:24px;height:24px;border-radius:50%;background:#0B0C0A;color:#C2E08A;display:grid;place-items:center}
.wt-nav .ic svg{width:15px;height:15px}
.wt-nav.on .ic svg{animation:wtNudge 1.6s ease-in-out infinite}
.wt-nav-l.on .ic svg{animation-name:wtNudgeL}.wt-nav-u.on .ic svg{animation-name:wtNudgeU}.wt-nav-d.on .ic svg{animation-name:wtNudgeD}.wt-nav-f.on .ic svg{animation:none}
@keyframes wtNudge{0%,100%{transform:none}50%{transform:translateX(3px)}}
@keyframes wtNudgeL{0%,100%{transform:none}50%{transform:translateX(-3px)}}
@keyframes wtNudgeU{0%,100%{transform:none}50%{transform:translateY(-3px)}}
@keyframes wtNudgeD{0%,100%{transform:none}50%{transform:translateY(3px)}}
.wt-tag,.wt-hint{position:absolute;top:16px;z-index:4;display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:99px;
  background:rgba(12,14,11,.6);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:none}
.wt-tag{left:16px;font-size:.84rem;font-weight:600;color:#F2F4EC}
.wt-tag .n{font:500 .66rem/1 "IBM Plex Mono",monospace;letter-spacing:.14em;color:var(--accent-lit)}
.wt-hint{right:16px;font-size:.76rem;color:#C9CEC0;transition:opacity .4s}
.wt-hint::before{content:"";width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(163,200,100,.5),0 0 12px rgba(163,200,100,.8)}
.wt-hint.off{opacity:0}

.wt-card{position:absolute;left:0;top:0;width:340px;z-index:8;border-radius:16px;padding:22px 22px 20px;color:#F2F4EC;
  background:linear-gradient(180deg,rgba(26,30,22,.86),rgba(14,16,12,.9));backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);
  border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 80px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.08)}
.wt-card.in{animation:wtPop .38s cubic-bezier(.2,1.1,.35,1)}
@keyframes wtPop{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
.wt-card .wt-k{font:500 .64rem/1 "IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-lit)}
.wt-card h3{font-size:1.3rem;margin:9px 34px 9px 0}
.wt-card p{color:#B9BFAF;font-size:.9rem;line-height:1.55}
.wt-card ul{list-style:none;margin:13px 0 17px;padding:0;display:grid;gap:7px}
.wt-card li{display:flex;gap:9px;font-size:.86rem;color:#DCE0D3;line-height:1.4}
.wt-card li::before{content:"";flex:0 0 14px;height:14px;margin-top:2px;border-radius:50%;
  background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4L18 8' fill='none' stroke='%230B0C0A' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat}
.wt-cta{display:flex;gap:8px;flex-wrap:wrap}
.wt-cta .btn{width:auto;padding:10px 16px;font-size:.86rem}
.wt-x{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:transparent;
  color:#B9BFAF;font-size:1.2rem;line-height:1;cursor:pointer}
.wt-x:hover{color:#fff;border-color:var(--accent)}

.wt-end{position:absolute;inset:0;z-index:9;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  gap:12px;padding:24px;background:rgba(6,7,5,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.wt-end.in{animation:wtFade .6s ease}
@keyframes wtFade{from{opacity:0}to{opacity:1}}
.wt-end h3{font-size:clamp(1.4rem,3vw,2.3rem);max-width:20ch}
.wt-end p{color:#B9BFAF;max-width:46ch}
.wt-end .cta-btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}
.wt-end .btn{width:auto}

.wt-bar{display:flex;align-items:center;gap:8px;margin-top:14px}
.wt-rooms{flex:1;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px}
.wt-rooms::-webkit-scrollbar{display:none}
.wt-room{flex:1 0 auto;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;border-radius:99px;border:1px solid var(--line);
  background:rgba(255,255,255,.02);color:var(--muted);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}
.wt-room .n{font:500 .62rem/1 "IBM Plex Mono",monospace;letter-spacing:.1em;opacity:.8}
.wt-room:hover{color:var(--bone);border-color:var(--accent)}
.wt-room.done{color:#C8D3B4}
.wt-room[aria-current="true"]{background:var(--accent);border-color:var(--accent);color:#0B0C0A}
.wt-ctl{flex:0 0 auto;height:40px;min-width:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:99px;border:1px solid var(--line);
  background:rgba(255,255,255,.02);color:var(--bone);cursor:pointer;padding:0 12px;font-size:.8rem;font-weight:600}
.wt-ctl:hover:not(:disabled){border-color:var(--accent);color:var(--accent-lit)}
.wt-ctl:disabled{opacity:.35;cursor:default}
.wt-ctl svg{width:16px;height:16px}
.wt-play .i-pause{display:none}
.wt-play[aria-pressed="true"] .i-pause{display:block}
.wt-play[aria-pressed="true"] .i-play{display:none}

.wt-list{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:.8rem}
.wt-lh{color:var(--muted-2);margin-right:4px;font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.wt-list button{border:1px solid var(--line-soft);background:transparent;color:var(--muted);border-radius:99px;padding:5px 11px;font-size:.78rem;cursor:pointer}
.wt-list button:hover,.wt-list button[aria-pressed="true"]{color:var(--accent-lit);border-color:var(--accent)}

@media(max-width:1000px){.wt-room .t{display:none}.wt-room[aria-current="true"] .t{display:inline}}
@media(max-width:720px){
  .wt-stage{border-radius:12px}
  .wt-card{position:relative;left:auto!important;top:auto!important;width:auto;margin-top:12px}
  .wt-dot{width:30px;height:30px;margin:-15px 0 0 -15px}
  .wt-dot .core{inset:10px}
  .wt-dot .lbl{display:none}
  .wt-nav{font-size:.68rem;padding:5px 6px 5px 10px;gap:6px}.wt-nav-l{padding:5px 10px 5px 6px}
  .wt-nav .ic{width:18px;height:18px}.wt-nav .ic svg{width:12px;height:12px}
  .wt-tag{top:8px;left:8px;padding:5px 10px;font-size:.74rem}
  .wt-hint{display:none}
  .wt-ctl .t{display:none}
  .wt-end h3{font-size:1.15rem}.wt-end p{display:none}.wt-end{gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .wt-nav .ic svg{animation:none!important}
  .wt-dot .ring{animation:none}.wt-cam.drift{transform:none}.wt-still.b{transition:opacity .2s}
}

/* enquiry block, moved out of the hero */
.enq-sec{padding-block:70px;border-bottom:1px solid var(--line-soft)}
.enq-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:52px;align-items:start}
.enq-copy h2{margin-block:12px 14px}
.enq-call{margin-top:26px;color:var(--muted);font-size:.95rem}
.enq-call a{color:var(--accent-lit);font-weight:700;font-size:1.25rem;text-decoration:none;margin-left:6px}
@media(max-width:900px){.enq-grid{grid-template-columns:1fr;gap:30px}.enq-sec{padding-block:50px}}
