:root{color-scheme:dark;--bg:#061322;--panel:#0d1e30;--cyan:#83e9ff;--gold:#efd3a1;--text:#eff8fa;--muted:#abc2cc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% -15%,#123451,#061322 50%,#030a14);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}button,a{font:inherit}button{cursor:pointer}a{color:inherit}.skip{position:absolute;top:-100px;left:10px;z-index:20;background:#fff;color:#061322;padding:9px}.skip:focus{top:10px}.topbar{height:75px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(18px,4vw,65px);border-bottom:1px solid #8de7ff28;background:#071522d8}.brand{text-decoration:none;display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.19em;font-weight:750}.brand-mark{font-family:Georgia,serif;font-size:25px;letter-spacing:-.05em;color:var(--gold)}.topbar nav{display:flex;gap:clamp(13px,2vw,30px);font-size:12px}.topbar nav a{text-decoration:none;color:#d3e6e9}.topbar nav a:hover{color:var(--cyan)}.intro{max-width:1480px;margin:auto;padding:clamp(30px,5vw,65px) clamp(18px,4vw,62px) 28px}.eyebrow{color:var(--cyan);font-size:10px;font-weight:800;letter-spacing:.22em}.intro h1{font:400 clamp(2.6rem,5vw,5.1rem)/1.05 Georgia,serif;letter-spacing:-.05em;margin:13px 0}.intro h1 em{color:var(--gold);font-weight:400}.intro>p:last-child{max-width:740px;line-height:1.7;color:#c4d7dc;font-size:14px}.experience{max-width:1480px;margin:0 auto;padding:0 clamp(14px,3vw,48px);display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:17px}.viewer{height:min(69vw,740px);min-height:560px;position:relative;overflow:hidden;border:1px solid #71e6f888;border-radius:20px;background:#091a27;box-shadow:0 0 0 5px #61dfff0b,0 0 55px #30b4e12b,0 30px 75px #0008}.viewer canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.viewer-shade{pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,#0613228c,transparent 28%,transparent 67%,#04111be8)}.loading{position:absolute;inset:0;display:grid;place-items:center;background:#0a1929;color:var(--gold);font-size:15px;letter-spacing:.08em}.loading.hidden{display:none}.view-caption{position:absolute;left:clamp(18px,3vw,45px);top:clamp(15px,3vw,40px);pointer-events:none;max-width:340px;text-shadow:0 2px 18px #000}.view-caption h2{font:400 clamp(26px,3vw,44px)/1.04 Georgia,serif;letter-spacing:-.04em;margin:10px 0}.view-caption p{font-size:12px;color:#e5f1f2;line-height:1.5}.crosshair{position:absolute;inset:0;pointer-events:none}.crosshair i{position:absolute;width:28px;height:28px;border-color:#a2efff9c}.crosshair i:nth-child(1){left:18px;top:18px;border-left:1px solid;border-top:1px solid}.crosshair i:nth-child(2){right:18px;top:18px;border-right:1px solid;border-top:1px solid}.crosshair i:nth-child(3){left:18px;bottom:18px;border-left:1px solid;border-bottom:1px solid}.crosshair i:nth-child(4){right:18px;bottom:18px;border-right:1px solid;border-bottom:1px solid}.view-tools{position:absolute;right:20px;bottom:64px;display:flex;gap:7px}.view-tools button{border:1px solid #a9eefa80;color:#ebf9fc;background:#092138d9;border-radius:9px;min-height:39px;min-width:40px;backdrop-filter:blur(12px);box-shadow:0 5px 18px #0005}.view-tools button:hover,.view-tools button:focus-visible,.view-tools button[aria-pressed=true]{background:#0c4b69;border-color:var(--cyan)}.view-tools #spin{padding:0 13px;font-size:11px}.view-hint{position:absolute;left:25px;bottom:18px;color:#d7eef0;font-size:10px;letter-spacing:.02em;text-shadow:0 2px 8px #000}.selector{border:1px solid #6cdff454;border-radius:20px;background:linear-gradient(160deg,#122c42,#071525 80%);padding:24px;display:flex;flex-direction:column;min-width:0}.selector h2{font:400 29px/1.1 Georgia,serif;margin:7px 0 25px;letter-spacing:-.04em}.scene-list{display:grid;gap:12px}.scene-card{border:1px solid #6bb8c364;border-radius:13px;padding:0;background:#091725;overflow:hidden;color:#fff;text-align:left;transition:transform .3s,border-color .3s,box-shadow .3s}.scene-card:hover,.scene-card:focus-visible{transform:translateY(-4px) rotateX(2deg);border-color:#9cebff;box-shadow:0 8px 26px #29dbff36}.scene-card.on{border-color:#a5efff;box-shadow:0 0 0 2px #44dfff48,0 0 23px #40dfff3b}.scene-card img{display:block;width:100%;height:104px;object-fit:cover}.scene-card span{display:block;padding:10px 12px 11px}.scene-card small{display:block;color:var(--cyan);font-size:9px;letter-spacing:.18em}.scene-card strong{display:block;font:400 21px Georgia,serif;margin:4px 0}.scene-card em{display:block;color:#b8ccd1;font-style:normal;font-size:10px}.selector-bottom{margin-top:auto;padding-top:18px}.selector-bottom p{color:#b4cbd1;font-size:11px;line-height:1.55}.selector-bottom strong{color:#f4e0b5}.selector-bottom a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;background:var(--gold);color:#10202b;padding:13px 14px;border-radius:8px;font-size:12px;font-weight:800}.selector-bottom a:hover{background:#fff1cb}.below{max-width:1480px;margin:auto;padding:70px clamp(18px,4vw,62px);display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:50px}.below h2{font:400 clamp(30px,4vw,51px) Georgia,serif;margin:10px 0}.below p{max-width:740px;font-size:13px;line-height:1.85;color:#b6cad2}.below p a{color:#a9e9f4}.source-list{align-self:start;display:grid;gap:12px;border-top:1px solid #68c9d86e;padding-top:20px;font-size:11px}.source-list strong{color:var(--gold);font-size:13px}.source-list a{color:#c4e5e9}footer{border-top:1px solid #4ebbd52c;padding:24px clamp(18px,4vw,62px);color:#9bb6c0;font-size:11px}footer a{color:var(--cyan)}@media(max-width:1050px){.experience{grid-template-columns:1fr}.viewer{height:62vw;min-height:480px}.selector{display:block}.scene-list{grid-template-columns:repeat(3,1fr)}.scene-card img{height:120px}.selector-bottom{display:flex;align-items:center;gap:20px}.selector-bottom p{flex:1}.selector-bottom a{flex:0 0 220px}}@media(max-width:640px){.topbar{height:65px}.topbar nav{font-size:10px;gap:10px}.topbar nav a:nth-child(2){display:none}.brand{font-size:8px;gap:6px}.brand-mark{font-size:20px}.intro{padding-bottom:17px}.intro>p:last-child{font-size:12px}.experience{padding:0 8px}.viewer{height:66svh;min-height:410px;border-radius:13px}.view-caption{left:15px;top:13px;max-width:220px}.view-caption h2{font-size:29px}.view-caption p{font-size:10px}.view-tools{right:10px;bottom:55px}.view-tools #spin{font-size:0;min-width:40px}.view-tools #spin::after{content:'↻';font-size:21px}.view-hint{font-size:9px;left:12px;right:12px;bottom:11px}.selector{padding:18px 12px}.selector h2{font-size:25px;margin-bottom:16px}.scene-list{gap:7px}.scene-card img{height:76px}.scene-card span{padding:7px}.scene-card small{font-size:7px}.scene-card strong{font-size:14px}.scene-card em{display:none}.selector-bottom{display:block}.selector-bottom a{margin-top:13px}.below{grid-template-columns:1fr;gap:25px;padding-top:55px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene-card{transition:none}.scene-card:hover{transform:none}}

.viewer canvas{cursor:grab}.viewer canvas.dragging{cursor:grabbing}
.viewer canvas{transition:transform .35s ease,filter .35s ease}.viewer.travelling canvas{transform:scale(1.12);filter:blur(5px)}
.travel-hotspot{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;transform:translate(-50%,-50%);border:1px solid #e0f8ffb8;border-radius:999px;padding:7px 15px 7px 7px;background:#071d2bdd;color:#fff;box-shadow:0 0 0 8px #68e7ff1e,0 10px 35px #000a;backdrop-filter:blur(12px);font-size:12px;font-weight:750;white-space:nowrap;transition:box-shadow .2s,background .2s,scale .2s}
.travel-hotspot[hidden]{display:none}.travel-hotspot:hover,.travel-hotspot:focus-visible{background:#0d4961;box-shadow:0 0 0 12px #68e7ff28,0 10px 42px #000c;scale:1.07;outline:2px solid #d6faff;outline-offset:4px}
.hotspot-arrow{display:grid;place-items:center;width:41px;height:41px;border-radius:50%;background:linear-gradient(135deg,#f2d7a5,#aeeeff);color:#112c3b;font-size:23px;transform:rotate(-24deg)}
.travel-flash{position:absolute;z-index:3;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 55%,#a7efff7a,#07304eaa 48%,#020d1ff0);opacity:0;transition:opacity .28s ease}.viewer.travelling .travel-flash{opacity:1}
@media(max-width:640px){.travel-hotspot{font-size:10px;padding:5px 11px 5px 5px;max-width:80%;white-space:normal}.hotspot-arrow{flex:none;width:35px;height:35px;font-size:19px}}
@media(prefers-reduced-motion:reduce){.viewer canvas,.travel-hotspot,.travel-flash{transition:none}}

@media(min-width:1051px){.selector{max-height:740px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#76dff366 transparent}}
