@font-face{font-family:Figtree;src:url('/assets/figtree.woff2') format('woff2');font-weight:300 900;font-display:swap}
:root{--gold:#f8e8bc;--muted:#b7bac6;--ink:#0c101c;--line:#f8e8bc30;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:transparent;color:var(--gold);font-family:Figtree,Arial,sans-serif}button{font:inherit;cursor:pointer}button:focus-visible,canvas:focus-visible{outline:2px solid #80ffe1;outline-offset:-3px}[hidden]{display:none!important}.ft-tour{position:relative;isolation:isolate;width:100%;overflow:hidden;background:transparent;padding:0 0 16px}.ft-stage{position:relative;width:100%;height:clamp(440px,45vw,620px);background:radial-gradient(ellipse at 55% 50%,#48426a25,transparent 65%)}.ft-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;mask-image:linear-gradient(to bottom,transparent,#000 6%,#000 93%,transparent)}.ft-stage canvas:active{cursor:grabbing}.ft-hotspots{position:absolute;inset:0;pointer-events:none}.ft-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:1px solid var(--line);background:#0c101ce8;color:var(--gold);padding:10px 14px;min-height:44px;font-size:12px;border-radius:3px;white-space:nowrap}.ft-marker:before{content:'✦';color:#bbaaee;margin-right:8px}.ft-marker:hover{border-color:#80ffe1;box-shadow:0 0 24px #80ffe116}.ft-topbar{position:absolute;top:10px;left:4px;right:4px;display:flex;justify-content:space-between;gap:8px;z-index:5;pointer-events:none}.ft-topbar>*{pointer-events:auto}.ft-modes{display:flex;gap:4px;padding:4px;background:#0c101cbb;border:1px solid var(--line);border-radius:5px}.ft-modes button,.ft-levels button,.ft-tools button,.ft-rooms button{border:0;background:transparent;color:var(--muted);font-size:14px;min-height:44px;padding:10px 16px;border-radius:3px}.ft-modes button[aria-pressed=true],.ft-rooms button[aria-current=true]{background:var(--gold);color:var(--ink)}.ft-tools button{border:1px solid var(--line);background:#0c101ccc;color:var(--gold);font-size:23px;width:48px}.ft-levels{position:absolute;top:78px;left:4px;display:flex;z-index:4;background:#0c101ca8;border-radius:4px}.ft-levels button{font-size:12px;padding:8px 12px}.ft-levels button[aria-pressed=true]{color:var(--gold);text-decoration:underline;text-underline-offset:7px}.ft-room{position:relative;display:grid;grid-template-columns:1fr 1.3fr auto;gap:30px;align-items:center;border-top:1px solid var(--line);padding:26px 4px 22px}.ft-eyebrow{font-size:10px;letter-spacing:.15em;margin:0 0 10px;color:#bba5eb}.ft-room h2{font-size:32px;font-weight:500;letter-spacing:-.045em;margin:0;line-height:1.1}.ft-room>p{color:var(--muted);font-size:14px;line-height:1.65;margin:0;max-width:510px}.ft-text-button{background:none;border:0;color:var(--gold);font-size:14px;padding:12px 0;white-space:nowrap}.ft-text-button span{margin-left:20px}.ft-bottom{position:relative;padding:0 4px}.ft-rooms{display:flex;gap:8px;flex-wrap:wrap}.ft-rooms button{border:1px solid var(--line);color:var(--gold);flex:1;white-space:nowrap}.ft-rooms button span{font-size:10px;color:inherit;opacity:.65;margin-right:12px}.ft-rooms button:hover,.ft-tools button:hover{border-color:#bba5eb}.ft-help{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:16px;color:var(--muted);font-size:12px}.ft-help button{border:0;background:none;color:var(--gold);min-height:44px;padding:10px}.ft-touch{position:absolute;top:300px;right:12px;z-index:5;display:grid;grid-template-columns:repeat(3,44px);gap:5px}.ft-touch button{background:#0c101ce8;border:1px solid var(--line);color:var(--gold);height:44px;font-size:20px;border-radius:4px;touch-action:none}.ft-touch button:first-child{grid-column:2}.ft-touch button:nth-child(2){grid-column:1}.ft-toast{position:absolute;left:50%;top:140px;transform:translateX(-50%);z-index:8;padding:16px 22px;border:1px solid var(--line);background:#0c101cf5;max-width:90%;font-size:14px;text-align:center}.ft-launch{position:relative;height:520px;display:flex;align-items:center;justify-content:center;text-align:center}.ft-preview{position:absolute;inset:0;background:url('assets/preview.webp') center/contain no-repeat;opacity:.7;mask-image:radial-gradient(ellipse,#000 25%,transparent 72%)}.ft-launch-content{position:relative;padding:30px;background:radial-gradient(ellipse,#0c101cdd,transparent 72%)}.ft-launch-content>p{font-size:15px;margin-bottom:22px}.ft-primary{background:var(--gold);color:var(--ink);border:1px solid var(--gold);border-radius:4px;min-height:54px;padding:16px 26px;font-weight:600;display:inline-flex;align-items:center;gap:40px;transition:box-shadow .25s,transform .25s}.ft-primary:hover{box-shadow:0 0 40px #bba5eb50;transform:translateY(-2px)}.ft-launch small{display:block;margin-top:20px;font-size:12px;color:var(--muted)}.ft-loading,.ft-error{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px}.ft-loading-star{font-size:48px;color:#bba5eb;animation:pulse 2s infinite}.ft-loading progress{accent-color:var(--gold);height:4px;width:220px}.ft-error p{max-width:440px;color:var(--muted);line-height:1.7}.ft-tour:fullscreen{background:#0c101c;height:100dvh;overflow:auto;padding:16px 24px}.ft-tour:fullscreen .ft-stage{height:calc(100dvh - 250px);min-height:300px}.ft-tour:fullscreen .ft-topbar{left:28px;right:28px;top:26px}.ft-tour:fullscreen .ft-levels{left:28px;top:94px}.ft-tour:fullscreen canvas{mask-image:none}@keyframes pulse{50%{opacity:.4;transform:scale(.9)}}
@media(max-width:700px){.ft-launch{height:420px}.ft-loading,.ft-error{min-height:420px}.ft-stage{height:440px}.ft-hotspots{display:none}.ft-modes button{font-size:12px;padding:10px 12px}.ft-room{grid-template-columns:1fr;gap:12px;padding:22px 4px}.ft-room h2{font-size:29px}.ft-room>p{font-size:14px}.ft-room .ft-text-button{justify-self:start;padding-top:2px}.ft-rooms{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ft-rooms button{font-size:12px;padding:10px 8px;white-space:normal}.ft-rooms button:last-child:nth-child(odd){grid-column:1/-1}.ft-rooms button span{margin-right:7px}.ft-help{align-items:flex-start;font-size:11px}.ft-help span{padding-top:13px;max-width:72%;line-height:1.5}.ft-tour:fullscreen{padding:12px}.ft-tour:fullscreen .ft-stage{height:calc(100dvh - 310px)}.ft-tour:fullscreen .ft-room>p{display:none}.ft-tour:fullscreen .ft-room{padding:12px 4px;gap:5px}.ft-tour:fullscreen .ft-room h2{font-size:23px}.ft-tour:fullscreen .ft-touch{top:calc(100dvh - 420px)}.ft-topbar{top:0}.ft-levels{top:65px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Immersive stage: controls float over the model, never consume canvas height. */
.ft-tour{height:100svh;padding:0}.ft-stage{position:absolute;inset:0;height:100%;background:none}
.ft-stage canvas{-webkit-mask-image:linear-gradient(180deg,transparent,rgba(0,0,0,.45) 8%,#000 24%,#000 72%,rgba(0,0,0,.5) 89%,transparent),linear-gradient(90deg,transparent,rgba(0,0,0,.55) 6%,#000 18%,#000 82%,rgba(0,0,0,.55) 94%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent,rgba(0,0,0,.45) 8%,#000 24%,#000 72%,rgba(0,0,0,.5) 89%,transparent),linear-gradient(90deg,transparent,rgba(0,0,0,.55) 6%,#000 18%,#000 82%,rgba(0,0,0,.55) 94%,transparent);mask-composite:intersect}
.ft-topbar{top:18px;left:18px;right:18px}.ft-levels{left:18px;top:88px}
.ft-bottom{position:absolute;bottom:20px;left:18px;right:18px;z-index:5;padding:0;pointer-events:none}
.ft-bottom button{pointer-events:auto}.ft-rooms{justify-content:center}.ft-rooms button{flex:0 1 auto;background:#0c101cdb;backdrop-filter:blur(12px);box-shadow:0 4px 18px #0002}
.ft-rooms button[aria-current=true]{background:var(--gold)}.ft-help{margin-top:10px;justify-content:center;gap:16px}.ft-help span,.ft-help button{background:#0c101ccd;border-radius:3px;padding:10px 14px;backdrop-filter:blur(12px)}
.ft-touch{top:auto;bottom:150px;right:24px}.ft-launch,.ft-loading,.ft-error{height:100%;min-height:0}
.ft-tour:fullscreen{padding:0}.ft-tour:fullscreen .ft-stage{height:100%;min-height:0}.ft-tour:fullscreen .ft-topbar{top:18px;left:18px;right:18px}.ft-tour:fullscreen .ft-levels{top:88px;left:18px}.ft-tour:fullscreen canvas{mask-image:none;-webkit-mask-image:none}
@media(max-width:700px){.ft-stage{height:100%}.ft-topbar{left:8px;right:8px;top:12px}.ft-levels{left:8px;top:74px}.ft-bottom{bottom:12px;left:8px;right:8px}.ft-rooms{display:flex;flex-wrap:wrap;gap:6px}.ft-rooms button{flex:1 1 27%;font-size:11px;padding:8px 6px;min-height:44px}.ft-rooms button span{display:none}.ft-help{margin-top:6px;gap:6px;font-size:10px;align-items:center}.ft-help span{max-width:none;flex:1;padding:8px;line-height:1.4}.ft-help button{padding:8px;min-height:44px}.ft-touch,.ft-tour:fullscreen .ft-touch{top:auto;bottom:180px;right:14px}.ft-tour:fullscreen .ft-stage{height:100%}.ft-launch{height:100%}}

.ft-tour{--controls-left:20px;--controls-right:20px}.ft-topbar{left:var(--controls-left)!important;right:var(--controls-right)!important}.ft-levels{left:var(--controls-left)!important}.ft-bottom{left:var(--controls-left)!important;right:var(--controls-right)!important}.ft-touch{right:var(--controls-right)!important}.ft-tools button{display:grid;place-items:center;padding:0;line-height:1}.ft-tools svg{display:block;flex-shrink:0}
.ft-launch{position:absolute;inset:0;z-index:2;opacity:1;transition:opacity .9s ease,transform .9s ease;pointer-events:none}.ft-launch button{pointer-events:auto}.ft-launch-content{transition:opacity .25s}.ft-tour[data-loading=true] .ft-launch-content{opacity:0;pointer-events:none}.ft-tour[data-loading=true] #ft-start{pointer-events:none}.ft-stage{opacity:0;transition:opacity .9s ease}.ft-tour[data-presented=true] .ft-stage{opacity:1}.ft-tour[data-presented=true] .ft-launch{opacity:0;transform:scale(1.025)}.ft-loading{position:absolute;inset:0;z-index:7;background:transparent;pointer-events:none}.ft-loading p{padding:10px 18px;background:#0c101cce;border-radius:3px}.ft-error{position:absolute;inset:0;z-index:8;background:#0c101cdd}.ft-tour:not([data-presented=true]) .ft-topbar,.ft-tour:not([data-presented=true]) .ft-levels,.ft-tour:not([data-presented=true]) .ft-bottom{opacity:0;pointer-events:none}.ft-topbar,.ft-levels,.ft-bottom{transition:opacity .6s ease}
.ft-tour:fullscreen{--controls-left:24px!important;--controls-right:24px!important}
