.virtual-tour{padding:105px 0 108px;background:var(--ink);color:var(--paper);overflow:hidden;position:relative}.virtual-tour:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 28%,#274b6840,transparent 58%);pointer-events:none}.virtual-tour .wrap{position:relative;z-index:1}.tour-heading{text-align:center;margin:0 auto 33px}.tour-heading .section-title{margin-bottom:12px}.tour-heading .section-intro{margin:0 auto}.tour-shell{background:var(--ink2);border:1px solid color-mix(in srgb,var(--paper) 10.6%,transparent);border-radius:22px;padding:13px;box-shadow:0 24px 70px #0006}.tour-viewport{position:relative;height:clamp(310px,52vw,590px);overflow:hidden;border-radius:15px;background:var(--ink)}.tour-canvas{width:100%;height:100%;display:block;object-fit:cover;background-size:cover;background-position:center;cursor:grab;touch-action:none}.tour-canvas:active{cursor:grabbing}.tour-hud{position:absolute;top:16px;left:16px;right:16px;display:flex;align-items:center;gap:10px;pointer-events:none}.tour-degree,.tour-drag-hint,.tour-auto{background:color-mix(in srgb,var(--ink) 85%,transparent);color:var(--paper);border:1px solid color-mix(in srgb,var(--paper) 18.8%,transparent);border-radius:99px;backdrop-filter:blur(10px);padding:8px 12px;font-size:11px}.tour-degree{font-weight:800;color:var(--lime)}.tour-drag-hint{color:var(--paper)}.tour-auto{margin-left:auto;pointer-events:auto;cursor:pointer}.tour-auto:hover{border-color:var(--lime);color:var(--lime)}.tour-caption{position:absolute;left:20px;bottom:20px;display:grid;gap:4px;text-shadow:0 2px 10px #000c}.tour-caption small{font:700 10px var(--display);letter-spacing:.16em;color:var(--lime)}.tour-caption strong{font:800 clamp(20px,3vw,30px)/1.1 var(--display);color:var(--paper)}.tour-arrows{position:absolute;right:18px;bottom:18px;display:flex;gap:8px}.tour-arrows button{width:42px;height:42px;border-radius:50%;background:color-mix(in srgb,var(--ink) 88%,transparent);border:1px solid color-mix(in srgb,var(--paper) 23.1%,transparent);color:var(--paper);font-size:20px;cursor:pointer;transition:.2s}.tour-arrows button:hover{background:var(--lime);color:var(--ink);transform:translateY(-2px)}.tour-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:13px 2px 1px}.tour-step{display:flex;align-items:center;gap:11px;text-align:left;min-height:52px;padding:10px 12px;background:color-mix(in srgb,var(--paper) 2.4%,transparent);border:1px solid color-mix(in srgb,var(--paper) 8.2%,transparent);border-radius:11px;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:background .2s,border .2s,color .2s,transform .2s}.tour-step span{font:800 10px var(--display);color:var(--muted)}.tour-step:hover{transform:translateY(-2px);border-color:#c9f36b78;color:var(--paper)}.tour-step.is-active{background:#c9f36b14;border-color:#c9f36b;color:var(--paper)}.tour-step.is-active span{color:var(--lime)}.tour-disclaimer{max-width:880px;margin:15px auto 0;color:var(--muted);text-align:center;font-size:11px}.tour-disclaimer:before{content:"ⓘ ";color:var(--lime)}
@media(max-width:720px){.virtual-tour{padding:76px 0}.tour-shell{padding:8px;border-radius:17px}.tour-viewport{height:390px}.tour-hud{top:10px;left:10px;right:10px;gap:6px}.tour-degree,.tour-drag-hint,.tour-auto{font-size:9px;padding:7px 9px}.tour-steps{grid-template-columns:1fr 1fr}.tour-step{min-height:47px}.tour-caption{left:14px;bottom:15px}.tour-arrows{right:12px;bottom:12px}.tour-arrows button{width:38px;height:38px}}
@media(max-width:390px){.tour-viewport{height:320px}.tour-drag-hint{display:none}}
@media(prefers-reduced-motion:reduce){.tour-step,.tour-arrows button{transition:none}}

.tour-zoom-controls{position:absolute;right:16px;top:50%;transform:translateY(-50%);display:grid;gap:8px;z-index:2}.tour-zoom-controls button{width:42px;height:42px;border-radius:50%;background:color-mix(in srgb,var(--ink) 92%,transparent);border:1px solid color-mix(in srgb,var(--paper) 27%,transparent);color:var(--paper);font:700 22px/1 var(--display);cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}.tour-zoom-controls button:hover,.tour-zoom-controls button:focus-visible{background:var(--lime);border-color:var(--lime);color:var(--ink);transform:scale(1.06)}.tour-zoom-controls button:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
@media(max-width:720px){.tour-zoom-controls{top:auto;right:12px;bottom:66px;transform:none}.tour-zoom-controls button{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.tour-zoom-controls button{transition:none}}
.tour-shell{width:min(100%,1080px);margin:0 auto}.tour-viewport{height:auto;aspect-ratio:2/1;min-height:360px;max-height:560px}
@media(max-width:720px){.tour-viewport{aspect-ratio:1.08/1;min-height:320px;max-height:390px}}

.tour-canvas.is-fallback{transition:background-position .35s ease,background-size .25s ease}.tour-canvas.is-fallback.is-dragging{transition:none}

/* Keep the panorama and its stop controls inside the same responsive frame. */
.virtual-tour,.virtual-tour *{box-sizing:border-box}
.virtual-tour .wrap{min-width:0}
.tour-shell{width:min(100%,1080px);max-width:100%;min-width:0}
.tour-viewport{width:100%;max-width:100%;min-width:0}
.tour-canvas{width:100%;max-width:100%;min-width:0}
.tour-steps{width:100%;min-width:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.tour-step{min-width:0;max-width:100%;overflow-wrap:anywhere;line-height:1.35}
@media(max-width:720px){.virtual-tour .wrap{width:calc(100% - 28px)}.tour-shell{width:100%;padding:8px}.tour-viewport{width:100%;aspect-ratio:1.08/1;height:auto;min-height:280px;max-height:390px}.tour-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-step{gap:8px;padding:10px 9px;font-size:13px}}
@media(max-width:390px){.virtual-tour .wrap{width:calc(100% - 20px)}.tour-viewport{aspect-ratio:1/1;min-height:260px;max-height:360px}.tour-step{font-size:12px;padding:9px 8px}}
