
:root{font-family:'DM Sans',Arial,sans-serif;color:#f2e8d9;background:#111920;font-synthesis:none;--gold:#dbb782;--muted:#a4a7a7;--warm:#eacb99}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
#view{display:block;width:100%;height:100dvh;outline:none;touch-action:none;cursor:grab}#view:active{cursor:grabbing}
.grain{pointer-events:none;position:fixed;inset:0;z-index:3;opacity:.14;background-image:url('data:image/svg+xml,%3Csvg viewBox="0 0 180 180" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="n"%3E%3CfeTurbulence type="fractalNoise" baseFrequency=".7" numOctaves="3" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23n)" opacity=".21"/%3E%3C/svg%3E')}
.topbar{position:fixed;z-index:9;top:0;left:0;right:0;padding:27px 3.2vw;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.brand,.topright{display:flex;align-items:center;gap:13px;pointer-events:auto}.brand-mark{width:40px;height:40px;border:1px solid #d2b07b70;color:var(--gold);display:grid;place-items:center;font-size:28px}
.brand small,.brand strong{display:block}.brand small{color:var(--gold);font-size:8px;letter-spacing:.35em;margin-bottom:5px}.brand strong{font-size:10px;letter-spacing:.23em;font-weight:600}
.bronze{color:var(--gold)}.edition{font-size:9px;color:#c7c8c4;letter-spacing:.15em;margin-right:12px}.edition b{color:var(--gold);font-weight:500}
.text-control,.icon-button{background:rgba(15,23,27,.5);border:1px solid rgba(211,187,154,.29);height:32px;min-width:41px;padding:0 11px;font-size:10px;letter-spacing:.1em;transition:.2s}
.icon-button{border-radius:50%;min-width:32px;padding:0;font-size:14px}.text-control:hover,.icon-button:hover{background:#a6804b70;border-color:var(--gold)}
.hero{position:fixed;z-index:4;top:28%;left:3.65vw;max-width:380px;pointer-events:none;transition:opacity .6s,transform .6s}
.hero.recede{opacity:.13;transform:translateX(-16px)}.hero.recede:hover{opacity:.94;transform:none}
.hero>*{pointer-events:auto}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:9px;letter-spacing:.26em;font-weight:600}
.eyebrow .line{width:28px;height:1px;background:var(--gold)}h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(47px,5.1vw,80px);line-height:.87;letter-spacing:-.044em;margin:24px 0 13px;text-shadow:0 8px 24px #0008}
h1 em{color:#e3c69b;font-weight:400}.hero-sub{color:var(--gold);font-size:10px;letter-spacing:.33em;font-weight:600}.gold-dot{font-size:17px;vertical-align:middle}
.intro{font-family:'Cormorant Garamond',Georgia,serif;color:#d2c7b8;font-size:clamp(16px,1.65vw,21px);line-height:1.35;max-width:324px;margin:25px 0 29px;text-shadow:0 2px 15px #000}
.discover{background:#d3b07a;color:#1a2222;border:none;padding:15px 17px;display:flex;justify-content:space-between;align-items:center;gap:36px;font-weight:700;font-size:9px;letter-spacing:.18em;transition:transform .2s,background .2s}
.discover:hover{transform:translateY(-2px);background:#efd09d}.discover .arrow{font-size:21px;line-height:13px}
.basis{display:flex;gap:9px;align-items:center;margin-top:26px}.basis-line{height:1px;width:16px;background:#a2a49c}.basis small{font-size:8px;letter-spacing:.16em;color:#aca69c}
.hotspots{position:fixed;inset:0;pointer-events:none;z-index:5;overflow:hidden}.hotspot{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;border:1px solid #f6dcb6b0;background:rgba(25,37,39,.67);color:#fff0cf;width:34px;height:34px;border-radius:50%;font-size:10px;box-shadow:0 0 0 5px #eac78b13,0 0 29px #f0c68140;backdrop-filter:blur(8px);transition:transform .2s,background .2s}.hotspot:hover,.hotspot.active{transform:translate(-50%,-50%) scale(1.23);background:#c0925d;color:#181d20}.hotspot[hidden]{display:none}
.info-panel{position:fixed;top:28%;right:3.4vw;width:min(337px,88vw);z-index:10;background:linear-gradient(135deg,#17232beF,#141b22F2);border:1px solid #b18a5b72;padding:25px 26px 24px;box-shadow:0 18px 70px #0008;backdrop-filter:blur(17px);transition:opacity .3s,transform .3s}
.info-header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.micro{color:var(--gold);font-size:9px;letter-spacing:.23em;font-weight:600;margin:0 0 10px}.info-panel h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:36px;line-height:.96;margin:0}.panel-close{border:1px solid #85745a80;background:transparent;color:#d8c3a5;width:29px;height:29px;font-size:23px;line-height:25px}
.gold-rule{height:1px;background:linear-gradient(90deg,#cfaf78,transparent);margin:22px 0 19px}.info-panel p{font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;line-height:1.32;color:#ddd1c2;margin:0 0 19px}.fact{font-size:11px;line-height:1.65;color:#c1ad95;border-left:2px solid #b89265;padding-left:12px}.inline-action{color:#dbb782;font-size:10px;letter-spacing:.15em;border:1px solid #c1a07899;padding:10px 13px;margin-top:20px;background:#d6af7830}.inline-action:hover{background:#e3b98140}
.hidden{display:none!important}.bottom-gradient{position:fixed;z-index:2;bottom:0;left:0;right:0;height:24vh;background:linear-gradient(transparent,#0c141df1);pointer-events:none}
.footbar{position:fixed;z-index:7;bottom:0;left:0;right:0;padding:15px 3.1vw 26px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'tour actions' 'hint hint';gap:16px 20px;pointer-events:none}
.footbar>*{pointer-events:auto}.tour-title{font-size:9px;letter-spacing:.19em;color:#e6c293;margin:0 0 11px;display:flex;gap:8px;align-items:center}.tiny-dot{width:5px;height:5px;border-radius:50%;background:#e6c293}
.view-buttons{display:flex;gap:5px;flex-wrap:wrap}.view{background:#1a252b8f;border:1px solid #ad9e884a;padding:11px 13px;color:#c4bdb2;letter-spacing:.10em;font-size:9px;backdrop-filter:blur(12px)}.view:hover{color:#efd4a6;border-color:#d3ab80}.view.active{background:#d0a66e;color:#1e2627;border-color:#d0a66e;font-weight:700}
.actions{display:flex;gap:7px;align-items:end}.action{min-height:38px;background:#16222bcc;border:1px solid #d7b88979;color:#e6d1b3;padding:9px 12px;display:flex;align-items:center;gap:9px;letter-spacing:.12em;font-size:9px;white-space:nowrap}.action:hover{background:#b18d5c40;border-color:#ddb989}.action-icon{font-size:19px;color:#dfbc84}.hint{grid-area:hint;text-align:center;font-size:9px;letter-spacing:.12em;color:#a1a5a7;pointer-events:none}.hint>span:first-child{font-size:17px;color:#d9b582;vertical-align:middle;margin-right:8px}
.modal{position:fixed;inset:0;display:grid;place-items:center;background:#0e141bd9;z-index:40;backdrop-filter:blur(8px);padding:20px}.modal-body{max-width:490px;padding:39px;border:1px solid #d1ab785d;background:linear-gradient(150deg,#263138,#121e25);box-shadow:0 20px 100px #0009;position:relative}.modal-body>.panel-close{position:absolute;top:22px;right:22px}.modal h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:45px;font-weight:400;margin:0 0 18px}.modal p{line-height:1.65;color:#cfceca;font-size:13px}.disclaimer{font-size:11px!important;color:#b6ad9d!important}
.loading{position:fixed;inset:0;background:#111a22;z-index:100;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:opacity .9s}.loading.ready{opacity:0;pointer-events:none}.loading-emblem{font-size:58px;color:#d4b17c}.loading-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(24px,4vw,39px);letter-spacing:.12em}.loading-bar{height:2px;width:200px;background:#ffffff17;overflow:hidden}.loading-bar>span{display:block;height:100%;width:100%;background:#d8b77d;transform:translateX(-100%);animation:load 2.8s ease-in-out forwards}.loading-note{letter-spacing:.22em;color:#adacaa;font-size:9px}@keyframes load{to{transform:translateX(0)}}
.fatal{position:fixed;z-index:200;inset:0;background:#111a22;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5%;text-align:center;color:#e9cfac}.fatal h2{font-family:Georgia,serif;font-size:36px}.fatal p{font-size:13px;max-width:550px;line-height:1.5}
@media(max-width:1100px){.hero{top:24%;max-width:290px}.hero h1{font-size:51px}.intro{font-size:18px}.info-panel{right:3vw;top:24%}.footbar{grid-template-columns:1fr;grid-template-areas:'tour' 'actions' 'hint'}.actions{align-items:start}.edition{display:none}}
@media(max-width:640px){.topbar{padding:16px 17px}.brand-mark{width:32px;height:32px;font-size:22px}.brand small{font-size:7px}.brand strong{font-size:8px;letter-spacing:.15em}.hero{left:19px;top:14%;max-width:254px}.hero h1{font-size:46px;margin:17px 0 10px}.eyebrow{font-size:8px}.intro{font-size:16px;line-height:1.26;margin:15px 0}.hero-sub{font-size:9px}.discover{padding:12px 13px;font-size:8px}.basis{margin-top:16px}.basis small{font-size:7px;max-width:230px}.hero.recede{opacity:.11}.footbar{padding:9px 13px 14px;gap:10px}.footbar .tour-title{margin-bottom:7px}.view{padding:8px 9px;font-size:8px}.actions{gap:4px;flex-wrap:wrap}.action{font-size:8px;min-height:34px;padding:6px 9px}.action-icon{font-size:14px}.hint{font-size:8px}.hint>span:first-child{font-size:11px}.info-panel{top:14%;right:12px;padding:19px 20px;width:min(292px,90vw)}.info-panel h2{font-size:30px}.info-panel p{font-size:17px}.fact{font-size:10px}.topright{gap:6px}}
@media(max-height:690px){.hero{top:17%}.intro{margin:12px 0;font-size:16px}.basis{display:none}.footbar{padding-bottom:9px}.info-panel{top:16%;padding:17px}.info-panel p{font-size:16px;margin-bottom:9px}.gold-rule{margin:12px 0}.view{padding:7px}}
@media(prefers-reduced-motion:reduce){*,*::after,*::before{transition:none!important;animation:none!important}}
