:root{--navy:#111e2e;--gold:#b49768;--paper:#f6f4ee;--muted:#777a7c;--line:#e1dfd7;--white:#fffefa;color-scheme:light;font-family:Arial,Helvetica,sans-serif;color:var(--navy);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #b49768;outline-offset:4px}button{color:inherit}svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.sprite{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.header{height:100px;margin:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:block}.brand img{display:block;width:186px;height:74px;object-fit:contain;mix-blend-mode:multiply}.header-title{font-size:10px;letter-spacing:2.4px;display:flex;align-items:center;gap:16px;color:#747877}.gold-line{height:1px;width:35px;background:var(--gold)}.header-actions{display:flex;align-items:center;gap:13px}.concept-badge{font-size:11px;background:#ebe6db;border:1px solid #ded5c6;border-radius:25px;padding:10px 13px;white-space:nowrap}.concept-badge span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:7px}.help-button{border:1px solid #ccc9c0;background:transparent;width:32px;height:32px;border-radius:50%;font-family:Georgia,serif;font-size:17px}.layout{display:flex;gap:32px;max-width:1920px;margin:auto;padding:34px 38px 18px}.sidebar{width:260px;flex-shrink:0;display:flex;flex-direction:column}.eyebrow{letter-spacing:2.1px;font-size:10px;color:#8a7755;font-weight:600;margin:0 0 18px}h1{font-family:Georgia,'Times New Roman',serif;font-size:48px;font-weight:400;line-height:1.04;letter-spacing:-1.8px;margin:0 0 20px}.intro-copy{font-size:12px;line-height:1.8;color:#777d80;margin:0 0 30px}.route-heading{font-size:9px;letter-spacing:1.7px;display:flex;justify-content:space-between;color:#858782;margin-bottom:12px;padding:0 2px}.scene-list{display:flex;flex-direction:column;gap:8px}.scene-card{position:relative;display:flex;align-items:center;text-align:left;border:1px solid transparent;border-radius:10px;background:transparent;padding:8px;gap:12px;transition:background .2s,border-color .2s}.scene-card:hover{background:#ebe9e2}.scene-card[aria-current=true]{background:#fffcf5;border-color:#c7b189;box-shadow:0 3px 14px #19233006}.scene-card img{width:78px;height:58px;border-radius:5px;object-fit:cover}.scene-card small{display:block;font-size:8px;letter-spacing:1.4px;color:#8b8c86;margin-bottom:6px}.scene-card strong{font-size:12px;font-weight:500;display:block}.scene-card .visited-mark{position:absolute;right:8px;top:8px;width:13px;height:13px;border-radius:50%;background:#e9e4d8;font-size:8px;text-align:center;line-height:13px;color:#897044}.scene-card[aria-current=true] strong{font-weight:600}.sidebar-bottom{margin-top:auto;padding-top:25px}.guided-button{width:100%;background:var(--navy);color:white;border:0;border-radius:8px;padding:14px 13px;display:flex;gap:10px;align-items:center;font-size:11px;text-align:left}.guided-button svg{width:15px;height:15px}.guided-button .end-arrow{margin-left:auto;color:#d5c09a}.guided-button[aria-pressed=true]{background:#9d8054}.sidebar-bottom>p{font-size:10px;color:#858984;text-align:center;margin:12px 0 0}.tour-column{flex:1;min-width:0}.viewer{height:calc(100svh - 215px);min-height:510px;max-height:1100px;border-radius:14px;overflow:hidden;position:relative;background:#4e595d;isolation:isolate;touch-action:none;cursor:grab}.viewer:active{cursor:grabbing}.viewer:fullscreen{height:100svh;max-height:none;border-radius:0}.viewer canvas,#flatFallback{width:100%;height:100%;display:block;position:absolute;inset:0}#flatFallback{background-size:auto 100%;background-repeat:repeat-x}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 65px 70px -30px #07142060,inset 0 -90px 80px -50px #07142060}.scene-badge{position:absolute;top:22px;left:23px;display:flex;align-items:center;gap:13px;color:#fff;text-shadow:0 1px 8px #0006;pointer-events:none}.scene-badge>span{font-family:Georgia,serif;font-size:32px;color:#e1cb9f;border-right:1px solid #ffffff4d;padding-right:14px}.scene-badge small{font-size:8px;letter-spacing:1.7px;opacity:.8}.scene-badge h2{font-size:17px;font-weight:500;margin:5px 0 0}.viewer-top-right{position:absolute;right:22px;top:19px;display:flex;gap:10px;align-items:center;color:white}.heading-indicator{display:flex;gap:7px;align-items:center;font-size:10px;letter-spacing:.8px}.heading-indicator svg{width:39px;height:39px;stroke:#ffffffaa;stroke-width:1}.heading-indicator .needle{fill:#e8d6ad;stroke:#e8d6ad}#compassNeedle{transform-origin:20px 20px}.icon-button{width:38px;height:38px;border:0;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:transparent}.icon-button:hover{background:#b497682b}.map-toggle{background:#111e2e66;border:1px solid #ffffff55}.map-toggle:hover{background:#111e2eaa}.hotspots{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);border:0;color:white;background:transparent;display:flex;flex-direction:column;align-items:center;gap:7px;white-space:nowrap;z-index:3}.hotspot .spot-icon{width:46px;height:46px;border:1px solid #e8d6ab;background:#9e8359e8;box-shadow:0 0 0 7px #dec39432,0 6px 20px #0004;border-radius:50%;display:grid;place-items:center;transition:transform .2s}.hotspot .spot-icon svg{width:25px;height:25px;stroke-width:2}.hotspot .spot-text{font-size:10px;letter-spacing:.2px;background:#111e2ed9;padding:7px 10px;border:1px solid #ffffff25;border-radius:5px}.hotspot:hover .spot-icon{transform:translateY(-4px);background:#c1a475}.drag-hint{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);display:flex;gap:14px;align-items:center;background:#112031d9;border:1px solid #ffffff33;border-radius:12px;padding:18px 22px;color:white;box-shadow:0 15px 50px #0002;pointer-events:none;transition:opacity .5s;white-space:nowrap}.drag-hint>svg{width:27px;height:27px;color:#d7bd8c}.drag-hint>div{font-size:13px}.drag-hint small{display:block;font-size:10px;margin-top:7px;color:#ccd0d4}.drag-hint.dismissed{opacity:0}.mini-map{z-index:4;position:absolute;right:20px;bottom:85px;width:218px;background:#f7f5eeeF;border:1px solid #fff9;border-radius:10px;box-shadow:0 8px 25px #0002;cursor:default;overflow:hidden}.map-heading{display:flex;justify-content:space-between;align-items:center;padding:15px 14px 0;font-size:8px;letter-spacing:1.2px}.map-tag{font-size:7px;color:#9a885f}.map-drawing{position:relative;margin:3px 10px 0}.map-drawing>svg{display:block;width:100%;height:auto;stroke-linecap:butt}.map-outline{stroke:#d3d2c6;fill:#edece4;stroke-width:1}.map-lane{stroke:#d8d6ca;stroke-width:16}.map-bays{stroke:#cecdc1;stroke-width:9}.map-office{fill:#c6b28d;stroke:none}.map-drawing text{stroke:none;fill:#716d61;font:5px Arial,sans-serif;text-anchor:middle;letter-spacing:.3px}.map-drawing .road-label{font-size:6px;fill:#a5a092}.map-route{stroke:#b59b6a;stroke-width:1.5;stroke-dasharray:3 4}.map-point{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:22px;height:22px;border:1px solid #b7a177;border-radius:50%;background:#fdfbf4;color:#8e7956;font-size:9px;box-shadow:0 1px 4px #0001}.map-point.active{background:var(--navy);color:white;border-color:var(--navy);box-shadow:0 0 0 4px #b49b6838}.map-point:hover{background:var(--gold);color:white}.mini-map>p{font-size:7px;color:#86877e;text-align:center;margin:5px 0 12px}.viewer-bottom{z-index:5;position:absolute;bottom:22px;left:23px;right:23px;display:flex;justify-content:space-between;align-items:center;gap:20px;pointer-events:none}.look-hint{display:flex;align-items:center;gap:8px;color:white;font-size:10px;text-shadow:0 1px 4px #0007}.look-hint svg{width:17px;height:17px}.controls{display:flex;align-items:center;background:#fcfbf6f2;border:1px solid #fff9;border-radius:9px;padding:4px;pointer-events:auto;box-shadow:0 3px 15px #0002}.controls svg{width:18px;height:18px}.controls>span{font-size:10px;color:#7c807f;min-width:33px;text-align:center}.controls .control-separator{height:18px;min-width:1px;width:1px;background:#d5d2c9;margin:0 4px}.in-view-disclosure{position:absolute;left:23px;bottom:6px;color:#ffffffa6;font-size:7px;letter-spacing:1px;pointer-events:none}.view-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 0 13px;border-bottom:1px solid var(--line)}.view-caption p{font-size:12px;color:#777d80;margin:0;line-height:1.5}.step-buttons{display:flex;align-items:center;gap:13px;flex-shrink:0}.step-buttons button{border:1px solid #d9d6cc;background:transparent;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.step-buttons button:hover{background:#eae5d9}.step-buttons svg{width:16px;height:16px}.flip{transform:rotate(180deg)}.step-buttons span{font-size:9px;color:#848985;min-width:25px}.tour-footer{display:flex;justify-content:space-between;gap:18px;font-size:8px;color:#92958e;line-height:1.6;padding-top:11px}.tour-footer>span:last-child{letter-spacing:1.2px;white-space:nowrap}.loading,.error-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#152333bb;color:#fff;font-size:12px;z-index:7;pointer-events:none}.loading{transition:opacity .3s}.loading.loaded{opacity:0}.spinner{width:30px;height:30px;border:2px solid #ffffff33;border-top-color:#e4cda0;border-radius:50%;animation:spin 1s linear infinite}.error-state{pointer-events:auto}.error-state button{padding:10px 20px;border:0;border-radius:7px;background:#e4cda0}dialog{max-width:470px;width:calc(100% - 40px);border:1px solid #e6dfcf;border-radius:16px;padding:42px;background:var(--paper);color:var(--navy);box-shadow:0 30px 120px #0005}dialog::backdrop{background:#0b172acc;backdrop-filter:blur(5px)}dialog h2{font-family:Georgia,serif;font-size:37px;font-weight:400;letter-spacing:-1px;margin:0 0 22px}dialog p:not(.eyebrow),dialog li{font-size:13px;line-height:1.8;color:#687079}dialog ul{padding-left:16px}dialog li{margin:8px 0}.close-dialog{position:absolute;right:15px;top:10px;background:none;border:0;font-size:26px;color:#788086}.dialog-action{background:var(--navy);color:white;border:0;border-radius:7px;width:100%;padding:14px;margin-top:16px;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1600px){.layout{gap:45px;padding-top:42px}.sidebar{width:300px}h1{font-size:58px}.scene-card img{width:92px;height:66px}.scene-card strong{font-size:14px}.scene-list{gap:12px}.intro-copy{font-size:13px}.viewer{height:calc(100svh - 225px)}}
@media(max-width:1150px){.header{margin:0 24px;height:85px}.header-title{display:none}.layout{padding:25px 24px 15px;gap:22px}.sidebar{width:220px}h1{font-size:43px}.viewer{height:calc(100svh - 195px);min-height:510px}.mini-map{width:185px}.scene-card img{width:62px;height:51px}.scene-card{gap:8px}.tour-footer>span:last-child{display:none}}
@media(max-width:800px){.header{height:76px;margin:0 18px}.brand img{width:146px;height:58px}.concept-badge{font-size:9px;padding:8px 10px}.help-button{width:28px;height:28px}.header-actions{gap:8px}.layout{display:flex;flex-direction:column;padding:20px 18px 18px;gap:18px}.sidebar{width:100%;display:contents}.intro{display:flex;align-items:end;justify-content:space-between;order:0}.intro .eyebrow{display:none}h1{font-size:30px;letter-spacing:-.8px;margin:0}h1 br{display:none}.intro-copy{font-size:10px;text-align:right;line-height:1.5;margin:0;max-width:160px}.intro-copy br{display:none}.route-heading{display:none}.tour-column{order:1}.viewer{height:58svh;min-height:410px;max-height:750px;border-radius:11px}.scene-list{order:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.scene-card{flex-direction:column;align-items:start;padding:5px;gap:8px;border-radius:8px}.scene-card img{width:100%;height:60px}.scene-card small{font-size:7px;margin-bottom:4px}.scene-card strong{font-size:10px}.scene-card .visited-mark{right:8px;top:8px}.scene-card>div{padding:0 3px 5px}.sidebar-bottom{order:3;padding-top:0;margin-top:0;display:flex;gap:14px;align-items:center}.guided-button{max-width:225px;padding:13px;font-size:10px}.sidebar-bottom>p{margin:0;font-size:9px}.scene-badge{top:16px;left:15px;gap:10px}.scene-badge>span{font-size:26px;padding-right:10px}.scene-badge small{font-size:6px}.scene-badge h2{font-size:14px}.viewer-top-right{right:12px;top:13px;gap:6px}.heading-indicator span{display:none}.heading-indicator svg{width:31px;height:31px}.map-toggle{width:32px;height:32px}.mini-map{right:12px;bottom:79px;width:166px}.map-heading{font-size:7px;padding:12px 10px 0}.mini-map>p{font-size:6px}.map-point{width:19px;height:19px;font-size:8px}.viewer-bottom{left:12px;right:12px;bottom:22px;gap:8px}.look-hint{font-size:8px;gap:5px}.controls .icon-button{width:30px;height:32px}.controls svg{width:16px;height:16px}.controls>span{font-size:8px;min-width:26px}.controls .control-separator{min-width:1px}.in-view-disclosure{left:13px;font-size:6px;bottom:7px}.drag-hint{padding:13px 15px;gap:10px;max-width:90%}.drag-hint>div{font-size:11px}.drag-hint small{font-size:8px}.view-caption p{font-size:10px}.view-caption{padding:12px 0}.step-buttons{gap:7px}.tour-footer{font-size:7px}.hotspot .spot-icon{width:38px;height:38px}.hotspot .spot-text{font-size:8px}.viewer:fullscreen .mini-map{width:200px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
