
:root{--paper:#f2f0e9;--ink:#fff;--muted:rgba(255,255,255,.72);--glass:rgba(10,15,12,.62);--line:rgba(255,255,255,.18);--accent:#d8c56a;--shadow:0 18px 50px rgba(0,0,0,.28)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#111713;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);overflow:hidden}
button{font:inherit;color:inherit}.tour{position:relative;width:100%;height:100%;min-height:480px;overflow:hidden;outline:none;background:#111713}.stage{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none}.stage.dragging{cursor:grabbing}.view-image{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;user-select:none;will-change:transform,opacity;transition:opacity .18s ease,transform .18s ease;transform-origin:center}.view-image.fade{opacity:.12}.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.44) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.10) 55%,rgba(0,0,0,.74) 100%),linear-gradient(90deg,rgba(0,0,0,.30),transparent 24%,transparent 76%,rgba(0,0,0,.18))}.loading{position:absolute;inset:0;display:grid;place-items:center;background:#111713;letter-spacing:.08em;text-transform:uppercase;font-size:12px;transition:opacity .4s;z-index:4}.loading.hidden{opacity:0;pointer-events:none}.topbar{position:absolute;z-index:6;left:0;right:0;top:0;padding:28px 32px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.brand,.topbar button{pointer-events:auto}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:7px}.brand h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:34px;line-height:1}.brand h1 span{font-family:Inter,system-ui,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.18em;margin-left:8px;color:var(--muted);vertical-align:middle}.icon-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:rgba(10,15,12,.28);backdrop-filter:blur(14px);cursor:pointer;font-family:Georgia,serif;font-style:italic;font-size:17px}.scene-panel{position:absolute;z-index:5;left:30px;top:132px;width:208px;background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:16px;backdrop-filter:blur(18px);box-shadow:var(--shadow)}.scene-panel-title{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:0 8px 10px}.scene-btn{width:100%;border:0;background:transparent;color:rgba(255,255,255,.67);text-align:left;padding:9px 8px;border-radius:10px;cursor:pointer;font-size:12px;display:flex;gap:9px;align-items:center;transition:.2s}.scene-btn span:first-child{width:18px;color:rgba(255,255,255,.42);font-variant-numeric:tabular-nums}.scene-btn:hover{background:rgba(255,255,255,.08);color:#fff}.scene-btn.active{background:rgba(216,197,106,.14);color:#fff}.scene-btn.active span:first-child{color:var(--accent)}.scene-caption{position:absolute;z-index:5;left:31px;bottom:32px;max-width:470px;pointer-events:none}.scene-count{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);font-weight:700;margin-bottom:7px}.scene-caption h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:32px;line-height:1.05;margin:0 0 8px}.scene-caption p{margin:0;color:var(--muted);font-size:13px;line-height:1.45;max-width:420px}.controls{position:absolute;z-index:7;right:30px;bottom:30px;display:flex;gap:7px;align-items:center;padding:7px;background:var(--glass);border:1px solid var(--line);border-radius:999px;backdrop-filter:blur(18px);box-shadow:var(--shadow)}.control{border:0;background:transparent;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;cursor:pointer;font-size:20px}.control.small{font-size:19px}.control:hover{background:rgba(255,255,255,.10)}.divider{height:26px;width:1px;background:var(--line);margin:0 2px}.progress-wrap{position:absolute;z-index:6;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.12)}.progress{height:100%;width:0;background:var(--accent);transition:width .25s}.drag-hint{position:absolute;z-index:5;left:50%;bottom:34px;transform:translateX(-50%);font-size:11px;text-transform:uppercase;letter-spacing:.14em;background:rgba(10,15,12,.45);border:1px solid var(--line);border-radius:999px;padding:9px 13px;backdrop-filter:blur(12px);color:rgba(255,255,255,.84);transition:opacity .6s}.drag-hint span{font-size:15px;margin-right:5px}.drag-hint.hidden{opacity:0;pointer-events:none}.gallery{position:absolute;z-index:15;inset:auto 22px 22px 22px;max-height:58%;background:rgba(14,18,15,.94);border:1px solid var(--line);border-radius:22px;backdrop-filter:blur(20px);box-shadow:var(--shadow);padding:18px;transform:translateY(120%);opacity:0;transition:.35s ease;overflow:hidden}.gallery.open{transform:translateY(0);opacity:1}.gallery-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.gallery-head strong{font-family:Georgia,serif;font-size:21px;font-weight:500}.gallery-head span{font-size:11px;color:var(--muted);margin-left:10px}.gallery-head button,.modal-close{border:0;background:transparent;font-size:28px;cursor:pointer}.thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;overflow:auto;max-height:calc(58vh - 82px);padding-right:4px}.thumb{border:2px solid transparent;border-radius:10px;overflow:hidden;padding:0;background:#111;cursor:pointer;aspect-ratio:16/9}.thumb img{width:100%;height:100%;display:block;object-fit:cover}.thumb.active{border-color:var(--accent)}.modal{position:absolute;z-index:20;inset:0;background:rgba(4,7,5,.67);backdrop-filter:blur(10px);display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:.25s}.modal.open{opacity:1;pointer-events:auto}.modal-card{position:relative;width:min(560px,100%);background:var(--paper);color:#1c221e;border-radius:24px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.38)}.modal-card h2{font-family:Georgia,serif;font-size:34px;font-weight:500;margin:5px 0 14px}.modal-card p{line-height:1.6;color:#3f4942;font-size:14px}.modal-card .note{border-left:3px solid #b6a64e;padding-left:14px}.modal-close{position:absolute;right:18px;top:12px;color:#1c221e}.eyebrow.dark{color:#796d2d}.keys{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.keys span{font-size:11px;background:#e7e3d7;padding:7px 9px;border-radius:8px;color:#596057}
@media(max-width:820px){.topbar{padding:20px}.brand h1{font-size:27px}.scene-panel{left:16px;right:16px;top:auto;bottom:96px;width:auto;display:none}.scene-caption{left:20px;right:20px;bottom:102px;max-width:none}.scene-caption h2{font-size:26px}.scene-caption p{display:none}.controls{right:16px;left:16px;bottom:20px;justify-content:center}.controls .small,.controls .divider{display:none}.control{width:46px;height:46px}.drag-hint{bottom:165px}.gallery{inset:10px 10px 86px 10px;max-height:none}.thumb-grid{grid-template-columns:repeat(2,1fr);max-height:calc(100vh - 180px)}}
@media(max-width:480px){.topbar{padding:16px}.brand h1{font-size:23px}.brand h1 span{display:none}.scene-caption{bottom:96px}.scene-count{font-size:10px}.scene-caption h2{font-size:23px}.gallery-head strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.view-image,.gallery,.modal,.progress{transition:none}}
