:root{--ink:#142024;--gold:#d7b978;--cream:#f6f3ed;--line:#ded8cc}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.topbar{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:22px clamp(18px,4vw,60px);background:#142024;color:white;border-bottom:3px solid var(--gold)}.eyebrow{margin:0 0 5px;color:var(--gold);font-size:.75rem;letter-spacing:.18em;font-weight:750}.topbar h1{margin:0;font-family:Georgia,serif;font-weight:500;font-size:clamp(1.4rem,3vw,2.35rem)}.details{margin:0 0 4px;color:#e7e4dd;font-size:.9rem;white-space:nowrap}.tour{padding:16px clamp(12px,3vw,42px) 30px}.instruction{display:flex;align-items:center;justify-content:center;gap:10px;font-size:.92rem;margin:3px 0 13px}.instruction span{width:14px;height:14px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(215,185,120,.2)}.plan-wrap{position:relative;max-width:1120px;margin:auto;background:white;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 18px 50px rgba(20,32,36,.12)}.plan{display:block;width:100%;height:auto;border-radius:10px}.hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--ink);cursor:pointer;padding:0;filter:drop-shadow(0 3px 4px rgba(0,0,0,.25))}.hotspot b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold);border:3px solid white;font-size:1rem;transition:.18s}.hotspot em{font-style:normal;font-weight:750;font-size:.75rem;background:rgba(255,255,255,.95);padding:5px 8px;border-radius:20px;white-space:nowrap}.hotspot:hover b,.hotspot:focus-visible b{transform:scale(1.13);background:#f0cc7b}.hotspot:focus-visible{outline:3px solid #386a79;outline-offset:5px;border-radius:30px}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:14px}.backdrop{position:absolute;inset:0;background:rgba(7,13,15,.86);backdrop-filter:blur(8px)}.viewer{position:relative;width:min(1100px,100%);height:min(91vh,850px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#0f171a;color:white;border:1px solid #526064;border-radius:18px;overflow:hidden;box-shadow:0 30px 90px #000}.viewer-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #2d393d}.viewer-head p{margin:0;color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.13em}.viewer-head h2{margin:2px 0 0;font-family:Georgia,serif;font-size:1.45rem;font-weight:500}.close{border:1px solid #59676b;background:#1c292d;color:white;border-radius:50%;width:42px;height:42px;font-size:1.8rem;line-height:1;cursor:pointer}.stage{position:relative;display:grid;place-items:center;min-height:0;background:#090f11}.stage img{width:100%;height:100%;object-fit:contain}.arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);border:1px solid rgba(255,255,255,.55);background:rgba(15,23,26,.72);color:white;width:46px;height:56px;border-radius:12px;font-size:2rem;cursor:pointer}.prev{left:14px}.next{right:14px}.staged-badge{position:absolute;right:14px;bottom:12px;background:rgba(15,23,26,.8);border:1px solid rgba(255,255,255,.6);padding:5px 8px;border-radius:6px;font-size:.72rem;letter-spacing:.04em}.thumbs{display:flex;gap:8px;overflow:auto;padding:10px;background:#142024}.thumb{flex:0 0 88px;height:62px;padding:0;border:2px solid transparent;border-radius:7px;overflow:hidden;background:#222;cursor:pointer}.thumb.active{border-color:var(--gold)}.thumb img{width:100%;height:100%;object-fit:cover}.no-scroll{overflow:hidden}@media(max-width:720px){.topbar{display:block;padding:16px 18px}.details{margin-top:8px;white-space:normal}.tour{padding:10px 5px}.instruction{font-size:.82rem}.plan-wrap{border-radius:12px;padding:4px}.hotspot b{width:32px;height:32px;font-size:.85rem}.hotspot em{display:none}.viewer{height:94vh;border-radius:12px}.modal{padding:6px}.viewer-head{padding:10px 12px}.viewer-head h2{font-size:1.2rem}.arrow{width:40px;height:50px}.thumb{flex-basis:74px;height:54px}}
