/* One non-interactive glass bubble: local clock above the opening state. */
.vp-place-header{position:absolute;z-index:5;top:25px;right:var(--vp-pad,4vw);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:112px;max-width:calc(100% - 185px);padding:12px 21px;border:1px solid #ffffff63;border-radius:28px;background:linear-gradient(135deg,#ffffff24,#dce9ff0d 48%,#ffffff18);box-shadow:inset 1px 1px 1px #ffffff80,inset -1px -1px 1px #ffffff24,0 6px 24px #07132026;-webkit-backdrop-filter:blur(9px) saturate(1.4) brightness(.8);backdrop-filter:blur(9px) saturate(1.4) brightness(.8);color:#fff;text-align:center;text-shadow:0 1px 5px #102539a0;pointer-events:none}
.vp-place-header::after{content:'';position:absolute;inset:3px;border:1px solid #ffffff19;border-radius:inherit;pointer-events:none}
.vp-place-header .vp-clock-line{font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.025em;color:inherit;white-space:nowrap;margin:0;border:0;background:none;padding:0;min-height:0;display:flex;align-items:center;justify-content:center;cursor:default;text-shadow:inherit}
.vp-place-header .vp-opening-status{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;line-height:1.5;font-weight:500;letter-spacing:.015em;margin:0;color:#fffffff2}
.vp-opening-status::before{content:'';width:7px;height:7px;border-radius:50%;background:#ff626e;box-shadow:0 0 0 1px #ffffff35,0 0 7px #ff626e35;flex:none}
.vp-opening-status[data-state=open]::before{background:#43e397;box-shadow:0 0 0 1px #ffffff35,0 0 7px #43e39735}
.vp-place-header .vp-opening-status[data-state=unknown],.vp-place-header .vp-opening-status:empty{display:none}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.vp-place-header{background:#253041e8}}
@media(max-width:760px){.vp-place-header{top:20px;right:var(--vp-pad,6vw);min-width:100px;max-width:calc(100% - 170px);padding:10px 15px;border-radius:25px;gap:4px}.vp-place-header .vp-clock-line{font-size:11px}.vp-place-header .vp-opening-status{font-size:10px;gap:6px}}

.vp-frame {
  --ink: #f6f1e8;
  --accent: #d9f48f;
  --dark: #18211d;
  color-scheme: dark;
  position: relative;
  isolation: isolate;
  height: 100%;
  min-height: 26rem;
  overflow: hidden;
  overscroll-behavior: contain;
  background: radial-gradient(ellipse at 70% 24%, #566759, #17211e 66%);
  color: var(--ink);
  font: 400 1rem/1.5 system-ui, sans-serif;
}
.vp-frame *, .vp-frame *::before, .vp-frame *::after { box-sizing: border-box; }
.vp-frame h2, .vp-frame h3, .vp-frame h4, .vp-frame p { margin: 0; }
.vp-frame button, .vp-frame input, .vp-frame textarea, .vp-frame select, .vp-frame a { font: inherit; }
.vp-frame button:not(:where(.vp-scene-entry, .vp-object-action, .vp-bottom-navigation > button, .vp-menu-actions > button)), .vp-static-action {
  min-height: 44px;
  padding: .55rem .8rem;
  border: 1px solid #e8ece244;
  border-radius: .65rem;
  background: #1f2b25;
  color: var(--ink);
  cursor: pointer;
}
.vp-frame button:not(:where(.vp-scene-entry, .vp-object-action, .vp-bottom-navigation > button, .vp-menu-actions > button)):hover, .vp-static-action:hover { background: #38453a; }
.vp-frame :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.vp-surface { position: absolute; inset: 0; touch-action: pinch-zoom; cursor: grab; }
.vp-surface:active { cursor: grabbing; }
.vp-surface:focus-visible { outline-offset: -4px; }
/* The two corners keep their own safe area even inside an embedded reader. */
.vp-frame .vp-place-logo, .vp-frame .vp-place-header {
  top: max(.7rem, env(safe-area-inset-top));
  overflow-wrap: anywhere;
  pointer-events: none;
}
.vp-frame .vp-place-logo {
  padding: .48rem .65rem;
  border-radius: .55rem;
  background: #14201be6;
  position: absolute;
  left: max(.7rem, env(safe-area-inset-left));
  max-width: min(41%, 16rem);
  font: 700 clamp(.8rem, 2vw, 1.15rem)/1.12 Georgia, serif;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.vp-frame .vp-place-logo img {
  display: block;
  width: clamp(3.4rem, 8vw, 5.2rem);
  max-width: 100%;
  height: auto;
}
.vp-frame .vp-place-header {
  right: max(.7rem, env(safe-area-inset-right));
  max-width: min(47%, 22rem);
}
.vp-frame .vp-place-header .vp-clock-line {
  min-height: 0;
  white-space: normal;
  display: block;
  cursor: default;
}
.vp-kicker { color: var(--accent); font-size: .65rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.vp-reading {
  position: absolute;
  left: 1rem;
  right: 1rem;
  top: 34%;
  bottom: 8.6rem;
  max-width: 35rem;
  padding: 1rem;
  overflow: auto;
  overscroll-behavior: contain;
}
.vp-reading h3 { font: 400 clamp(1.55rem, 3vw, 2.5rem)/1.15 Georgia, serif; margin: .35rem 0; }
.vp-reading p + p { margin-top: .55rem; }
.vp-bottom {
  position: absolute;
  z-index: 4;
}
nav.vp-bottom.vp-bottom-navigation {
  left: 50%;
  bottom: max(24px, env(safe-area-inset-bottom));
  max-width: calc(100% - 24px);
  transform: translateX(-50%);
}
.vp-bottom-navigation > button > span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  overflow-wrap: anywhere;
  line-height: 1.05;
  padding-inline: 3px;
}
.vp-bottom-navigation svg { flex: none; }
.vp-bottom:not(.vp-bottom-navigation) {
  left: max(.55rem, env(safe-area-inset-left));
  right: max(.55rem, env(safe-area-inset-right));
  bottom: max(.55rem, env(safe-area-inset-bottom));
  border: 1px solid #e6e9e147;
  border-radius: .9rem;
  background: #14201bf5;
  padding: .55rem .8rem;
}
.vp-frame .vp-object-action .interaction-copy {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.vp-frame:has(.vp-dialog[open]) :is(.vp-marker, .vp-scene-entry) { visibility: hidden; }
.vp-dialog {
  padding: 0;
  position: fixed;
  margin: 0;
  inset: var(--panel-y) auto auto var(--panel-x);
  transform: translate(-50%, -50%);
  width: min(39rem, var(--panel-w));
  max-height: min(34rem, var(--panel-h));
  max-width: none;
  overflow: hidden;
}
.vp-menu-dialog {
  width: min(510px, var(--panel-w));
  inset-block-start: var(--menu-edge);
  transform: translate(-50%, -100%);
}
.vp-menu-dialog .vp-panel-head { border-bottom: 0; padding: 14px 18px 0; }
.vp-menu-dialog .vp-panel-head h3 { font-size: .8rem; font-weight: 650; }
.vp-menu-dialog .vp-panel-body { padding-top: .45rem; }
.vp-menu-content .vp-menu-section-title { margin-block: 16px 8px; }
.vp-menu-group > p { color: #e1e6f0; font-size: 11px; margin-bottom: 8px; }
.vp-menu-actions > button[aria-current] { border-color: #ffffff8a; }
.vp-menu-dialog .vp-menu-content > button { margin-top: 14px; }
.vp-panel { display: flex; flex-direction: column; max-height: inherit; }
.vp-panel-head { display: flex; align-items: center; justify-content: space-between; padding: .75rem 1rem; border-bottom: 1px solid #e8ece233; gap: 1rem; }
.vp-panel-head button { width: 44px; padding: 0; }
.vp-panel-body { padding: 1.15rem; min-height: 0; overflow: auto; overscroll-behavior: contain; }
.vp-panel-body h3 { font: 400 clamp(1.6rem, 5vw, 2.4rem)/1.15 Georgia, serif; margin-bottom: .8rem; }
.vp-panel-body h4 { font-weight: 700; margin-bottom: .35rem; }
.vp-panel-body > * + * { margin-top: 1.1rem !important; }
.vp-field { display: grid; gap: .45rem; }
.vp-field select, .vp-field input, .vp-field textarea {
  width: 100%;
  min-height: 44px;
  color: inherit;
  padding: .6rem;
}
@media (max-width: 760px) {
  nav.vp-bottom.vp-bottom-navigation { bottom: max(18px, env(safe-area-inset-bottom)); }
}
.vp-reading details { margin-top: .8rem; padding: .5rem .75rem; border: 1px solid #e8ece244; border-radius: .55rem; background: #1c2a21; }
.vp-reading summary { cursor: pointer; }
.vp-reading details > * + * { margin-top: .55rem; }

@media (max-height: 440px) {
  .vp-published .vp-reading { top: 5.5rem; bottom: 5rem; }
}

.vp-walk-visual[hidden] { display: none; }
.vp-frame .vp-walk-target,
.vp-frame .vp-walk-target:hover {
  position: absolute;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.vp-link-action { display: grid; justify-items: start; gap: .55rem; }
.vp-link-action .vp-field { width: 100%; }

/* Validated Vision Flow dock. Three destinations + Menu, icons above labels. */
nav.vp-bottom-navigation{display:flex;align-items:center;gap:2px;box-sizing:border-box;padding:7px;width:520px;max-width:calc(100vw - 24px);height:82px;border:1px solid #ffffff52;border-radius:999px;background:linear-gradient(135deg,#ffffff19,#e9f0ff06 44%,#ffffff10);box-shadow:inset 1px 1px 1px #ffffff70,inset -1px -1px 1px #ffffff2b,inset 0 0 12px #eaf3ff10,0 12px 30px #05081735;-webkit-backdrop-filter:blur(5px) saturate(1.45) brightness(.88);backdrop-filter:blur(5px) saturate(1.45) brightness(.88);isolation:isolate;--glint-x:25%;--glint-y:0%}
.vp-bottom-navigation::before{content:'';position:absolute;inset:3px;z-index:2;padding:1px;border-radius:inherit;background:linear-gradient(137deg,#ffffff9c,transparent 29%,#e8f2ff20 56%,#ffffff73 78%,#ccb9ff42);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}
.vp-bottom-navigation::after{content:'';position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at var(--glint-x) var(--glint-y),#ffffff20,transparent 58%);opacity:.8}
nav.vp-bottom-navigation>:is(a,button){position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;height:66px;gap:6px;flex-direction:column;padding:0;margin:0;border:0;border-radius:999px;background:transparent;color:#fafbff;font-family:inherit;font-size:11px;font-weight:600;text-align:center;text-decoration:none;text-shadow:0 1px 3px #07101ec4;box-shadow:none;cursor:pointer;touch-action:manipulation;transition:color .18s,background .18s,transform .18s}
nav.vp-bottom-navigation>button:last-of-type{padding:2px 6px}
nav.vp-bottom-navigation svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #06122766)}
nav.vp-bottom-navigation>:is(a,button):hover{background:#ffffff0d;color:#fff}
nav.vp-bottom-navigation>:is(a,button):active{transform:scale(.95)}
nav.vp-bottom-navigation>:is(a,button):focus-visible{outline:2px solid white;outline-offset:-3px}
.vp-bottom-navigation>.dock-current{position:absolute;left:0;top:7px;bottom:7px;z-index:0;width:var(--pill-width,124px);transform:translate3d(var(--pill-x,7px),0,0);border-radius:999px;border:1px solid #ffffff45;background:linear-gradient(135deg,#ffffff24,#ffffff09 60%,#ffffff15);box-shadow:inset 1px 1px 1px #ffffff70,inset -1px -1px 1px #ffffff3d,inset 0 -6px 14px -12px #fff,0 2px 9px #0b102618;transition:transform .48s cubic-bezier(.22,.8,.2,1),width .42s cubic-bezier(.22,.8,.2,1),opacity .2s;pointer-events:none}
.vp-menu-section-title{margin:24px 0 12px;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.vp-menu-group{margin:16px 0}.vp-menu-group>h3{font-size:11px;font-weight:500;color:#e1e6f0;margin:0 0 8px}
.vp-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vp-menu-actions>:is(button,a){min-height:54px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #ffffff26;border-radius:17px;background:linear-gradient(135deg,#ffffff10,#ffffff04);box-shadow:inset 0 1px 1px #ffffff13;color:#fafbff;text-align:left;font-family:inherit;font-size:12px;cursor:pointer;text-decoration:none}
.vp-menu-actions>:is(button,a):hover{background:#ffffff1c;border-color:#ffffff68}.vp-menu-actions>[aria-pressed=true]{border-color:#ffffff8a;background:#ffffff24}
.vp-menu-actions>:is(button,a):focus-visible{outline:2px solid white;outline-offset:2px}
@media(max-width:760px){nav.vp-bottom-navigation{height:70px;width:390px;max-width:calc(100vw - 24px);padding:6px;gap:1px}nav.vp-bottom-navigation>:is(a,button){height:56px;font-size:9px;gap:5px}nav.vp-bottom-navigation svg{width:22px;height:22px}.vp-bottom-navigation>.dock-current{top:6px;bottom:6px}.vp-menu-actions>:is(button,a){font-size:11px;min-height:50px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){nav.vp-bottom-navigation{background:#253041ed}}
@media(prefers-contrast:more){nav.vp-bottom-navigation{background:#192332f2;border-color:white}}
@media(prefers-reduced-motion:reduce){.vp-bottom-navigation>.dock-current,nav.vp-bottom-navigation>:is(a,button){transition:none!important}}

/* Virtual Place interaction surfaces, contract 1.0.0.
   Default for every object/person sheet: the validated Vision glass, not a
   venue-specific opaque theme. Position and content layout belong to the host. */
.vp-glass-panel{
 --vp-glass-ink:#fafbff;--vp-glass-muted:#e1e6f0;
 color:var(--vp-glass-ink);
 background:linear-gradient(145deg,#29344352,#12192370);
 border:1px solid #ffffff4a;border-radius:30px;
 box-shadow:inset 1px 1px 1px #ffffff70,inset -1px -1px 1px #ffffff2b,0 12px 35px #080b1938;
 -webkit-backdrop-filter:blur(14px) saturate(1.4) brightness(.72);
 backdrop-filter:blur(14px) saturate(1.4) brightness(.72);
 text-shadow:0 1px 2px #060c163b;overscroll-behavior:contain;
 scrollbar-color:#ffffff5c transparent;
}
.vp-glass-panel::before{
 content:'';position:absolute;inset:3px;z-index:2;padding:1px;border-radius:inherit;
 background:linear-gradient(137deg,#ffffff9c,transparent 29%,#e8f2ff20 56%,#ffffff73 78%,#ccb9ff42);
 -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
 -webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;
 pointer-events:none;
}
.vp-glass-backdrop,.vp-glass-panel::backdrop{background:#07101c24;backdrop-filter:none;-webkit-backdrop-filter:none}
.vp-glass-panel .vp-glass-muted{color:var(--vp-glass-muted)}
.vp-glass-panel :is(button,a,summary,input,select,textarea):focus-visible{outline:2px solid #fff;outline-offset:4px}
.vp-glass-panel .vp-glass-close{
 min-width:44px;min-height:44px;border:1px solid #ffffff42;border-radius:50%;
 color:#fff;background:#ffffff0c;box-shadow:inset 0 1px 1px #fff3;
}
.vp-glass-panel .vp-glass-action{
 color:#fff;border:1px solid #ffffff45;border-radius:24px;
 background:linear-gradient(135deg,#ffffff16,#ffffff05);
 box-shadow:inset 0 1px 1px #ffffff35;min-height:48px;text-shadow:inherit;
}
.vp-glass-panel .vp-glass-action:hover,.vp-glass-panel .vp-glass-close:hover{background:#ffffff26;border-color:#ffffff8a}
@media(max-width:760px){.vp-glass-panel{border-radius:28px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.vp-glass-panel{background:#202b3cf5}}
@media(prefers-contrast:more),(prefers-reduced-transparency:reduce){.vp-glass-panel{background:#192332f2;border-color:white}}
@media(forced-colors:active){.vp-glass-panel{background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none;text-shadow:none}.vp-glass-panel::before{display:none}.vp-glass-panel .vp-glass-muted{color:CanvasText}.vp-glass-panel :is(.vp-glass-action,.vp-glass-close){background:ButtonFace;color:ButtonText;border-color:ButtonText}}

.vp-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.15em;pointer-events:none}
.icon-close .vp-icon,.vp-glass-close .vp-icon{width:18px;height:18px}
.hotspot-dot .vp-icon{width:16px;height:16px}
.loading-footnote .vp-icon{width:12px;height:12px}

html[data-vp-scene-shell="scene-only"],
.vp-published-page {
  margin: 0;
  overflow: hidden;
  overscroll-behavior: none;
}

.vp-published {
  height: 100vh;
  height: 100dvh;
  overflow: clip;
}

.vp-published > .vp-frame { min-height: 0; }

.vp-embed-poster, .vp-embed-exit { display: none; }
html[data-vp-embed="idle"], html[data-vp-embed="idle"] body {
  margin: 0;
  height: 100%;
  overflow: hidden !important;
  overscroll-behavior: auto !important;
  touch-action: pan-y pinch-zoom;
}
html[data-vp-embed="idle"] [data-vp-embed-live] { display: none !important; }
html[data-vp-embed="idle"] .vp-embed-poster {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  isolation: isolate;
  background: #141c27;
  color: #fff;
}
.vp-embed-poster picture, .vp-embed-poster img, .vp-embed-poster::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.vp-embed-poster img { object-fit: cover; object-position: center; }
.vp-embed-poster::before {
  content: '';
  z-index: 1;
  background: radial-gradient(ellipse at center, #0a101a46, transparent 70%);
  pointer-events: none;
}
.vp-embed-poster button, .vp-embed-exit {
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid #ffffff75;
  border-radius: 999px;
  background: #182433cf;
  color: white;
  font: 650 13px/1.15 system-ui, sans-serif;
  cursor: pointer;
  text-shadow: 0 1px 3px #080e17;
}
.vp-embed-poster button { position: relative; z-index: 2; }
.vp-embed-poster button:focus-visible, .vp-embed-exit:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
html[data-vp-embed="active"], html[data-vp-embed="active"] body { overscroll-behavior: contain; }
html[data-vp-embed="active"] .vp-embed-exit {
  display: block;
  position: fixed;
  z-index: 100;
  left: 50%;
  top: max(12px, env(safe-area-inset-top));
  transform: translateX(-50%);
}
@media (max-width: 500px) {
  html[data-vp-embed="active"] .vp-embed-exit { top: max(78px, env(safe-area-inset-top)); }
}

/* Distinct, shared affordances: circle on a doorway, glass capsule on an object. */
.vp-scene-entry,.hotspot.vp-object-action{position:absolute;box-sizing:border-box;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;pointer-events:auto;touch-action:manipulation;cursor:pointer;color:#fff;border:1px solid #ffffffa3;background:linear-gradient(135deg,#ffffff30,#d6e8ff0d 48%,#ffffff1d);box-shadow:inset 1px 1px 1px #ffffffa1,inset -1px -1px 1px #ffffff45,0 5px 20px #07152635;-webkit-backdrop-filter:blur(7px) saturate(1.4) brightness(.72);backdrop-filter:blur(7px) saturate(1.4) brightness(.72);text-shadow:0 1px 4px #071526bf;font-family:inherit;white-space:normal;text-align:center;transition:background .18s,border-color .18s,box-shadow .18s}
button.vp-scene-entry{width:100px;height:100px;min-height:100px;max-width:none;padding:16px;border-radius:50%;gap:0;font-size:13px;font-weight:650;line-height:1.25}
button.vp-scene-entry>.vp-entry-name{display:block;margin:0;font-size:inherit;line-height:inherit;overflow-wrap:normal;text-wrap:balance}
.vp-scene-entry::before{content:'';position:absolute;inset:4px;border:1px solid #ffffff35;border-radius:50%;pointer-events:none}
.vp-scene-entry::after{display:none}
.hotspot.vp-object-action{width:186px;min-height:56px;max-width:none;padding:9px 13px;border-radius:999px;gap:9px;text-align:left;font-size:12px;line-height:1.25}
.hotspot.vp-object-action[data-kind=person]{width:116px;min-height:52px}
.hotspot.vp-object-action::before,.hotspot.vp-object-action::after,.vp-object-action .object-hit{display:none}
.vp-object-action .interaction-icon{width:24px;height:24px;border:0;box-shadow:none;background:none;border-radius:0}
.vp-object-action .interaction-icon svg{width:21px;height:21px;stroke-width:1.6}
.vp-object-action .interaction-copy{gap:0}.vp-object-action .interaction-copy strong{font-size:12px;font-weight:650;line-height:1.3}.vp-object-action .interaction-copy small{display:none}
.vp-object-action .hotspot-dot{width:25px;height:25px;font-size:20px;background:#ffffff0b;border-color:#ffffff67;flex:none}
.vp-scene-entry:hover,.hotspot.vp-object-action:hover,.hotspot.vp-object-action[aria-pressed=true]{background:linear-gradient(135deg,#ffffff4d,#e5d4ff24 55%,#ffffff26);border-color:#fff;box-shadow:inset 1px 1px 2px #fff,0 5px 22px #07152635}
.vp-scene-entry:focus-visible,.hotspot.vp-object-action:focus-visible{outline:2px solid #fff;outline-offset:4px}
.vp-scene-entry[hidden],.hotspot.vp-object-action[hidden]{display:none}
@media(max-width:760px){button.vp-scene-entry{width:88px;height:88px;min-height:88px;padding:12px;font-size:12px}.hotspot.vp-object-action{width:164px;min-height:52px;padding:8px 11px;gap:7px}.hotspot.vp-object-action[data-kind=person]{width:104px;min-height:48px}.vp-object-action .interaction-copy strong{font-size:11px}.vp-object-action .interaction-icon{width:22px;height:22px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.vp-scene-entry,.hotspot.vp-object-action{background:#253041e8}}
@media(prefers-contrast:more){.vp-scene-entry,.hotspot.vp-object-action{background:#192332f2;border-color:#fff}}
@media(prefers-reduced-motion:reduce){.vp-scene-entry,.hotspot.vp-object-action{transition:none}}

@font-face{font-family:VP Manrope;src:url('./fonts/manrope.woff2') format('woff2');font-display:swap;font-weight:400 800}
/* Full-viewport entry: its own opaque surface, separate from the hero captions. */
html[data-vp-loading]{overflow:hidden;overscroll-behavior:none}
html[data-vp-loading] body{overscroll-behavior:none}
.studio-loading{position:fixed;inset:0;z-index:1000;display:none;place-items:center;overflow:hidden;isolation:isolate;background:#080a10;color:#f9f7ff;touch-action:none;outline:none;padding:32px;opacity:1;transition:opacity .65s cubic-bezier(.65,0,.35,1);--load:0}
html[data-vp-loading] .studio-loading:not([hidden]){display:grid}
html[data-vp-embed="idle"] .studio-loading,html[data-vp-embed="idle"] .studio-loading:not([hidden]){display:none}
html[data-vp-loading]:not([data-vp-embed="idle"]) .vp-embed-exit{visibility:hidden}
html[data-vp-loading] .studio-loading:not(.is-complete) ~ #vp-visit{visibility:hidden}
.studio-loading,.studio-loading *{box-sizing:border-box}
.studio-loading{--pad:clamp(24px,4vw,72px);--entry-light:color-mix(in srgb,var(--entry-brand,#9e9ed1) 34%,white);--entry-mid:color-mix(in srgb,var(--entry-brand,#9e9ed1) 66%,white);font-family:VP Manrope,Arial,sans-serif}
.studio-loading button{font-family:inherit;cursor:pointer}
.loading-retry:focus-visible{outline:2px solid var(--entry-light);outline-offset:4px}
.studio-loading::before{content:'';position:absolute;inset:-25%;z-index:-1;background:radial-gradient(ellipse at 46% 42%,color-mix(in srgb,var(--entry-brand,#9e9ed1) 46%,transparent),transparent 36%),radial-gradient(ellipse at 64% 56%,color-mix(in srgb,var(--entry-mid) 18%,transparent),transparent 30%);animation:entry-atmosphere 9s ease-in-out infinite alternate;pointer-events:none}
.studio-loading::after{content:'';position:absolute;left:5%;right:5%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--entry-mid) 33%,transparent),transparent)}
.loading-corner{position:absolute;top:max(30px,env(safe-area-inset-top));left:var(--pad);font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:#aaa1b8}
.loading-corner span{display:inline-block;width:5px;height:5px;margin-right:10px;border-radius:50%;background:var(--entry-light);box-shadow:0 0 12px var(--entry-mid)}
.loading-content{width:min(430px,100%);text-align:center;transform:translateY(-15px);transition:opacity .3s,transform .55s cubic-bezier(.65,0,.35,1)}
.loading-emblem{position:relative;width:310px;height:310px;margin:0 auto 0;display:grid;place-items:center}
.loading-emblem::before{content:'';position:absolute;inset:26px;border:1px solid color-mix(in srgb,var(--entry-light) 9%,transparent);border-radius:50%;transform:rotateX(62deg) rotateZ(-22deg)}
.loading-mark{width:80%;height:80%;object-fit:contain}
.loading-wordmark{font-size:40px;line-height:1.1;letter-spacing:-.065em;font-weight:700;margin:0 0 13px}
.loading-tagline{margin:0;color:#aaa1b8;font-size:10px;font-weight:500;letter-spacing:.26em;text-transform:uppercase}
.loading-meter{max-width:310px;margin:48px auto 0}
.loading-status{display:flex;align-items:end;justify-content:space-between;gap:18px;text-align:left;min-height:39px}
.loading-note{display:block;max-width:230px;font-size:12px;line-height:1.6;font-weight:500;color:#cbc3d8;margin:0}
.loading-percentage{display:flex;align-items:baseline;gap:3px;color:#f6eefb;font-variant-numeric:tabular-nums;letter-spacing:-.04em;white-space:nowrap}
.loading-number{font-size:29px;line-height:1;font-weight:500}.loading-percentage small{font-size:11px;color:#a69bb7}
.loading-track{height:2px;position:relative;background:#ffffff14;margin-top:17px;overflow:hidden;border-radius:3px}
.loading-track>span{display:block;width:100%;height:100%;transform:scaleX(var(--load));transform-origin:left;background:linear-gradient(90deg,var(--entry-brand,#9e9ed1),var(--entry-mid),var(--entry-light));transition:transform .4s cubic-bezier(.16,1,.3,1)}
.loading-progress{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.loading-footnote{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));left:24px;right:24px;text-align:center;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#897f9b;margin:0}
.loading-footnote i{font-style:normal;color:var(--entry-mid);padding:0 12px}
.loading-retry{margin:25px auto 0;border:1px solid color-mix(in srgb,var(--entry-mid) 48%,transparent);border-radius:99px;background:color-mix(in srgb,var(--entry-mid) 10%,transparent);color:#f5e8ff;font-size:13px;font-weight:600;padding:13px 28px;min-height:46px}
.studio-loading.is-complete{opacity:0}.studio-loading.is-complete .loading-content{opacity:0;transform:translateY(-32px) scale(1.025)}
.studio-loading.has-error .loading-note{max-width:310px;margin:32px auto 0;text-align:center}.studio-loading.has-error .loading-meter{display:contents}.studio-loading.has-error .loading-status{display:block}.studio-loading.has-error .loading-percentage,.studio-loading.has-error .loading-track,.studio-loading.has-error .loading-progress{display:none}
@keyframes entry-atmosphere{to{transform:translate3d(2%,-2%,0) scale(1.08);opacity:.65}}
@media(max-width:760px){.studio-loading{padding:24px}.loading-corner{font-size:8px;top:max(25px,env(safe-area-inset-top))}.loading-emblem{width:260px;height:260px}.loading-wordmark{font-size:34px}.loading-tagline{font-size:8px;letter-spacing:.23em}.loading-meter{margin-top:38px;max-width:275px}.loading-note{font-size:11px;max-width:205px}.loading-footnote{font-size:7px;letter-spacing:.13em}.loading-content{transform:translateY(-12px)}}
@media(max-height:560px){.loading-content{transform:none}.loading-emblem{height:170px;width:170px}.loading-wordmark{font-size:29px;margin-bottom:9px}.loading-meter{margin-top:25px}.loading-corner{top:18px}.loading-footnote{bottom:18px}}
@media(prefers-reduced-motion:reduce){.studio-loading,.studio-loading *,.studio-loading::before{animation:none!important;transition:none!important}}
.loading-emblem:empty::before{inset:52px}
@media(max-width:760px){.studio-loading{--pad:22px}}
