/* Homepage palette and accents approved in R8. Other pages keep their existing design. */
:root { --bg:#07131f;--panel:#151b2e;--ink:#effaff;--muted:#c3c9dc;--cyan:#75e5ff;--magenta:#ff8ad7;--line:#40516b; }
h1,html[lang=en-AU] h1 { font-family:Arial,"Microsoft YaHei",sans-serif;font-weight:600;text-shadow:0 0 26px #68dfff21; }
h1 span { color:var(--cyan); }
.brand-logo { filter:drop-shadow(0 0 10px #75e5ff33); }
.coming-soon { color:var(--cyan); }
.coming-soon::before { content:"";width:6px;height:6px;margin-right:10px;background:var(--cyan);box-shadow:0 0 12px var(--cyan); }
.site-header { border-image:linear-gradient(90deg,#43778b,#545676,#995577) 1; }
.hero .building-stage { border-radius:2px;background:linear-gradient(130deg,#061725cc,#1d1127aa);box-shadow:0 0 0 1px #54758a,0 0 35px #5fd7ff12; }
.building-canvas { mix-blend-mode:screen; }
.building-stage::after { display:block;content:"";inset:0;height:auto;z-index:2;opacity:1;pointer-events:none;animation:none;box-shadow:none;background:linear-gradient(var(--cyan),var(--cyan)) left top/36px 2px no-repeat,linear-gradient(var(--cyan),var(--cyan)) left top/2px 36px no-repeat,linear-gradient(var(--magenta),var(--magenta)) right bottom/36px 2px no-repeat,linear-gradient(var(--magenta),var(--magenta)) right bottom/2px 36px no-repeat; }
.floor-detail .detail-level,.floor-detail.is-magenta .detail-level { color:var(--cyan); }
.floor-list button[aria-pressed=true],.floor-list button[data-floor=L2][aria-pressed=true] { color:var(--magenta);border-color:var(--magenta);background:linear-gradient(90deg,#4e254b90,transparent);box-shadow:inset 2px 0 var(--magenta); }
.floor-list button[aria-pressed=true]::after { opacity:1; }
.floor-list button { transition:background 150ms ease,box-shadow 150ms ease; }
.floor-list button:hover { background:#c5c4ff0b; }
.floor-list strong { font-weight:500; }
.language-toggle,.location-strip a { border-color:var(--line);background:var(--panel);color:var(--cyan); }
.language-toggle:hover,.language-toggle:focus-visible { background:var(--panel);border-color:var(--cyan);color:var(--ink); }
.gallery-link { border-color:var(--cyan);color:var(--ink); }
.contact-links a,.contact-item { border-color:var(--line);background:linear-gradient(120deg,#112e40b3,#2d193ab3); }
.contact-links a:hover { border-color:var(--cyan);transform:none; }
.site-footer,.footer-links a,.site-nav a { color:var(--muted); }
.site-nav a:hover,.contact-heading>p,.contact-links span { color:var(--cyan); }
/* R8 background.
   Palette: midnight #06151E, plum #1D0E1A, cyan #75E5FF,
   pink #FF8AD7, champagne #FFE3B5 and white #EFFAFF.
   Keep the existing Arial / Microsoft YaHei type and left-aligned building
   and floor-copy grid. The background is one continuous colour field,
   gently deformed by broad waves. Sparse small glimmers suggest reflections
   from a late-night venue, not a star field. The building remains the focus. */
.page-shell {
  isolation:isolate;
  background:linear-gradient(112deg,#06151e 0%,#0e111c 48%,#1d0e1a 100%);
}
.u9-wave-surface {
  position:absolute;
  inset:0 0 auto;
  height:min(920px,100svh);
  overflow:hidden;
  contain:paint;
  pointer-events:none;
  z-index:0;
  -webkit-mask-image:linear-gradient(#000 0%,#000 68%,transparent 100%);
  mask-image:linear-gradient(#000 0%,#000 68%,transparent 100%);
}
.u9-wave-canvas {
  display:block;
  width:100%;
  height:100%;
  opacity:.88;
}
.u9-glimmer-field {
  position:absolute;
  inset:0;
  pointer-events:none;
}
.u9-glimmer {
  position:absolute;
  left:var(--glimmer-x);
  top:var(--glimmer-y);
  width:var(--glimmer-size);
  height:var(--glimmer-size);
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(circle,
    #fff5e3 0% 3%,var(--glimmer-core) 5%,
    var(--glimmer-halo) 14%,transparent 65%);
  animation:u9-glimmer-bloom 18s ease-in-out infinite;
  animation-delay:var(--glimmer-delay);
  animation-play-state:paused;
}
html[data-motion=running] .u9-glimmer { animation-play-state:running; }
@keyframes u9-glimmer-bloom {
  0%,60%,100% { opacity:0;transform:translate(-50%,-50%) scale(.82); }
  72% { opacity:.12;transform:translate(-50%,-50%) scale(.96); }
  80% { opacity:.72;transform:translate(-50%,-50%) scale(1.08); }
  90% { opacity:.06;transform:translate(-50%,-50%) scale(1.18); }
  96% { opacity:0;transform:translate(-50%,-50%) scale(1.22); }
}
@media(max-width:640px) {
  .u9-glimmer[data-mobile=false] { display:none; }
  .u9-glimmer { left:var(--glimmer-mobile-x);top:var(--glimmer-mobile-y); }
}
@media(prefers-reduced-motion:reduce) {
  .u9-glimmer { animation:none!important;opacity:0; }
}
