.tour-page{background:#111;padding:0}.tv{height:100svh;min-height:520px;color:var(--ink,#111);isolation:isolate;-webkit-user-select:none;user-select:none;background:#1a1a1c;border-radius:0;position:relative;overflow:hidden}@media (max-width:860px){.tv{min-height:480px}}.tv.is-full{border-radius:0;height:100vh}.tv-stage{z-index:0;cursor:grab;touch-action:none;position:absolute;inset:0;overflow:hidden}.tv-stage:active{cursor:grabbing}.tv-backdrop{object-fit:cover;filter:blur(28px)brightness(.55)saturate(1.1);pointer-events:none;width:calc(100% + 80px);height:calc(100% + 80px);position:absolute;inset:-40px;transform:scale(1.05)}.tv-layer{position:absolute;inset:0}.tv-photo{transform-origin:50%;will-change:transform;position:absolute}.tv-photo>img{object-fit:fill;pointer-events:none;width:100%;height:100%;display:block;box-shadow:0 30px 80px #00000059}.tv-layer.is-out{pointer-events:none;z-index:1;animation:.68s cubic-bezier(.55,.05,.35,1) forwards tv-out}.tv-layer.is-in{z-index:2}.tv-layer.is-in[data-motion=into],.tv-layer.is-in[data-motion=forward]{animation:.68s cubic-bezier(.2,.7,.2,1) both tv-in-forward}.tv-layer.is-in[data-motion=back]{animation:.6s cubic-bezier(.2,.7,.2,1) both tv-in-back}.tv-layer.is-in[data-motion=fade]{animation:.5s both tv-in-fade}.tv-layer.is-out[data-motion=into]{animation-name:tv-out-into}.tv-layer.is-out[data-motion=back]{animation-name:tv-out-back}.tv-layer.is-out[data-motion=fade]{animation-name:tv-out-fade;animation-duration:.5s}@keyframes tv-out{to{opacity:0;transform:scale(1.22)}}@keyframes tv-out-into{55%{opacity:1}to{opacity:0;transform:scale(1.9)}}@keyframes tv-out-back{to{opacity:0;transform:scale(.9)}}@keyframes tv-out-fade{to{opacity:0}}@keyframes tv-in-forward{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:none}}@keyframes tv-in-back{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:none}}@keyframes tv-in-fade{0%{opacity:0}to{opacity:1}}.tv-progress{z-index:8;background:var(--accent);transform-origin:0;opacity:0;width:100%;height:3px;position:absolute;top:0;left:0;transform:scaleX(0)}.tv[data-busy=true] .tv-progress{opacity:1;animation:1.4s ease-in-out infinite tv-load}@keyframes tv-load{0%{transform:scaleX(0)}70%{transform:scaleX(.85)}to{opacity:0;transform:scaleX(1)}}.tv-btn{height:46px;color:var(--ink,#111);white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #11111114;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.86rem;font-weight:700;transition:background .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 8px 24px #0000002e}.tv-btn:hover{background:#fff;transform:translateY(-1px);box-shadow:0 12px 30px #0000003d}.tv-btn svg{flex:none;width:18px;height:18px}.tv-square{width:46px;padding:0}.tv-top{z-index:6;pointer-events:none;align-items:center;gap:10px;display:flex;position:absolute;top:100px;left:16px;right:16px}.tv-top>*{pointer-events:auto}.tv-title{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border-radius:14px;flex:1;gap:2px;min-width:0;max-width:max-content;padding:8px 16px;display:grid;box-shadow:0 8px 24px #0000002e}.tv-title h1{font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(1.15rem,2.2vw,1.7rem);font-weight:400;line-height:1.05;overflow:hidden}.tv-title p{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:.76rem;font-weight:800;display:flex;overflow:hidden}.tv-title p span{color:var(--muted);letter-spacing:.06em;text-transform:none;font-weight:700}.tv-title .tv-room-icon{width:16px;height:16px}.tv-map-btn{margin-left:auto}.tv.has-map .tv-map-btn{background:var(--accent);color:var(--accent-ink,#111)}.tv-side{z-index:5;max-width:30%;position:absolute;top:50%;transform:translateY(-50%)}.tv-side:hover{transform:translateY(-50%) translateX(var(--nudge,0))}.tv-side span{text-overflow:ellipsis;overflow:hidden}.tv-prev{--nudge:-2px;left:14px}.tv-next{--nudge:2px;right:14px}.tv-zoom{z-index:5;gap:8px;display:grid;position:absolute;bottom:86px;right:14px}.tv-spot{z-index:3;transform:translate(-22px, -50%) scale(var(--inv,1));transform-origin:22px;align-items:center;gap:8px;display:inline-flex;position:absolute}button.tv-spot,.tv-spot button{cursor:pointer}.tv-spot-ring{background:var(--accent);width:44px;height:44px;color:var(--accent-ink,#111);border:3px solid #fff;border-radius:50%;flex:none;place-items:center;display:grid;position:relative;box-shadow:0 6px 18px #00000059}.tv-spot-ring:after{content:"";border:2px solid var(--accent);opacity:0;border-radius:50%;animation:2.2s ease-out infinite tv-ping;position:absolute;inset:-9px}@keyframes tv-ping{0%{opacity:.9;transform:scale(.7)}to{opacity:0;transform:scale(1.35)}}.tv-spot-ring svg{width:20px;height:20px}.tv-spot.is-go .tv-spot-ring svg{transform:rotate(0)}.tv-spot-label{color:var(--ink,#111);white-space:nowrap;background:#fffffff2;border-radius:10px;padding:8px 12px;font-size:.84rem;font-weight:800;box-shadow:0 6px 18px #00000047}.tv-spot.is-go:hover .tv-spot-ring{transform:scale(1.08)}.tv-spot.is-go:focus-visible{outline:none}.tv-spot.is-go:focus-visible .tv-spot-label{outline:3px solid var(--accent);outline-offset:2px}.tv-spot.is-info .tv-spot-ring{width:34px;height:34px;color:var(--ink,#111);border-color:var(--accent);background:#fff}.tv-spot.is-info{transform:translate(-17px, -50%) scale(var(--inv,1));transform-origin:17px}.tv-spot.is-info .tv-spot-ring:after{border-color:#fff}.tv-spot.is-left{transform:translate(calc(-100% + 22px), -50%) scale(var(--inv,1));transform-origin:calc(100% - 22px);flex-direction:row-reverse}.tv-spot.is-info.is-left{transform:translate(calc(-100% + 17px), -50%) scale(var(--inv,1));transform-origin:calc(100% - 17px)}.tv-spot.is-left .tv-spot-card{left:auto;right:44px}.tv-spot-card{width:max-content;max-width:260px;color:var(--ink,#111);white-space:normal;background:#fff;border-radius:12px;gap:4px;padding:12px 14px;font-size:.84rem;line-height:1.45;display:grid;position:absolute;top:50%;left:44px;transform:translateY(-50%);box-shadow:0 12px 30px #0000004d}.tv-spot-card b{font-weight:800}.tv-hint{z-index:5;color:#fff;pointer-events:none;text-align:center;background:#111111c7;border-radius:999px;align-items:center;gap:10px;max-width:calc(100% - 28px);padding:10px 16px;font-size:.82rem;font-weight:700;display:inline-flex;position:absolute;bottom:86px;left:50%;transform:translate(-50%)}.tv-hint-dot{background:var(--accent);border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 0 4px #ffffff40}.tv-error{z-index:6;text-align:center;background:#fff;border-radius:14px;max-width:min(90%,420px);padding:14px 18px;font-size:.9rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tv-rooms{z-index:6;position:absolute;bottom:12px;left:10px;right:10px}.tv-chips{scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;padding:4px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 16px),#0000);mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 16px),#0000)}.tv-chips::-webkit-scrollbar{display:none}.tv-chip{scroll-snap-align:center;height:46px;color:var(--ink,#111);white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #11111114;border-radius:12px;flex:none;align-items:center;gap:8px;padding:0 15px;font-size:.86rem;font-weight:700;transition:background .2s,color .2s;display:inline-flex;box-shadow:0 6px 18px #0000002e}.tv-chip:first-child{margin-left:12px}.tv-chip:last-child{margin-right:12px}.tv-chip:hover{background:#fff}.tv-chip[aria-current=true]{background:var(--accent);color:var(--accent-ink,#111);border-color:var(--accent)}.tv-chip i{background:#11111114;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.72rem;font-style:normal;display:grid}.tv-room-icon{flex:none;width:18px;height:18px}.tv-map{z-index:7;overscroll-behavior:contain;width:min(420px,100%);color:var(--ink,#111);background:#fff;border-radius:20px;padding:20px 20px 28px;animation:.3s cubic-bezier(.2,.7,.2,1) tv-map-in;position:absolute;top:96px;bottom:12px;right:12px;overflow-y:auto;box-shadow:-20px 0 60px #0000004d}.tv-map[hidden]{display:none}@keyframes tv-map-in{0%{opacity:0;transform:translate(30px)}}.tv-map-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.tv-map-head .eyebrow{margin-bottom:8px}.tv-map-head h2{font-size:2rem}.tv-map-head .tv-btn{box-shadow:none;background:var(--surface,#f2f2f3)}.tv-map h3{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:18px 0 10px;font-size:.74rem;font-weight:800}.tv-map ul{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tv-map-room{background:var(--surface,#f2f2f3);text-align:left;border:2px solid #0000;border-radius:14px;gap:6px;width:100%;padding:6px 6px 10px;transition:border-color .2s,transform .2s;display:grid}.tv-map-room:hover{border-color:#11111126;transform:translateY(-2px)}.tv-map-room[aria-current=true]{border-color:var(--accent);background:#fff}.tv-map-room img{aspect-ratio:4/3;object-fit:cover;border-radius:10px;width:100%}.tv-map-name{align-items:center;gap:6px;padding:0 4px;font-size:.9rem;font-weight:800;display:flex}.tv-map-meta{color:var(--muted);padding:0 4px;font-size:.76rem}.tv-map-room[aria-current=true] .tv-map-meta{color:var(--accent-text);font-weight:800}@media (max-width:760px){.tv-top{gap:8px;top:88px;left:10px;right:10px}.tv-back{width:46px;padding:0}.tv-back span,.tv-map-btn span{display:none}.tv-map-btn{width:46px;padding:0}.tv-title{padding:7px 12px}.tv-side{max-width:calc(50% - 16px);height:42px;padding:0 12px;font-size:.8rem;top:auto;bottom:74px;transform:none}.tv-side:hover{transform:none}.tv-prev{left:10px}.tv-next{right:10px}.tv-zoom{display:none}.tv-spot.is-go{pointer-events:none}.tv-spot.is-go .tv-spot-ring{pointer-events:auto;z-index:1;position:relative}.tv-hint{border-radius:14px;font-size:.78rem;bottom:128px}.tv-rooms{bottom:10px;left:4px;right:70px}.tv-chip{height:42px;padding:0 12px;font-size:.8rem}.tv-map{border-radius:20px 20px 0 0;width:100%;max-height:72%;animation-name:tv-map-up;top:auto;bottom:0;right:0}@keyframes tv-map-up{0%{opacity:0;transform:translateY(40px)}}}@media (prefers-reduced-motion:reduce){.tv-layer,.tv-map,.tv-spot-ring:after,.tv[data-busy=true] .tv-progress{animation:none!important}.tv-layer.is-out{display:none}}.tour-info{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:clamp(28px,5vw,72px);display:grid}@media (max-width:860px){.tour-info{grid-template-columns:1fr}}.tour-info h2{font-size:clamp(2rem,4.4vw,3.6rem)}.tour-info .lead{color:var(--muted);max-width:58ch;margin-top:16px}.tour-rooms{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.tour-rooms a{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:14px 16px;font-size:.92rem;font-weight:700;transition:border-color .2s,transform .2s;display:flex}.tour-rooms a:hover{border-color:var(--accent);transform:translateY(-2px)}.tour-rooms a .tv-room-icon{color:var(--accent-text)}.tour-rooms a small{color:var(--muted);margin-left:auto;font-weight:600}.tour-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}@media (max-width:1000px){.tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.tour-grid{grid-template-columns:1fr;gap:16px}}.tour-card{color:#fff;isolation:isolate;aspect-ratio:4/3.4;background:#111;border-radius:22px;transition:transform .35s,box-shadow .35s;display:block;position:relative;overflow:hidden;box-shadow:0 18px 40px #1111111a}.tour-card:hover{transform:translateY(-4px);box-shadow:0 26px 60px #1111112e}.tour-card.is-featured{aspect-ratio:auto;grid-column:span 2;min-height:100%}@media (max-width:640px){.tour-card.is-featured{aspect-ratio:4/3.4;grid-column:auto}}.tour-card-img{object-fit:cover;z-index:-2;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.tour-card:hover .tour-card-img{transform:scale(1.05)}.tour-card:after{content:"";z-index:-1;background:linear-gradient(#0000 30%,#00000040 52%,#000000d1 100%);position:absolute;inset:0}.tour-card-link{z-index:1;border-radius:inherit}.tour-card-badge,.tour-card-body{pointer-events:none;z-index:2}.tour-card:has(.tour-card-link:focus-visible){outline:3px solid var(--accent);outline-offset:3px}.tour-card-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.14em;text-transform:uppercase;background:#0e0e108c;border:1px solid #fff3;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:.7rem;font-weight:800;display:inline-flex;position:absolute;top:14px;left:14px}.tour-card-badge svg{width:15px;height:15px;color:var(--accent)}.tour-card-body{gap:4px;padding:20px 20px 18px;display:grid;position:absolute;bottom:0;left:0;right:0}.tour-card-body h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:400;line-height:1.05}.tour-card-body p{color:#ffffffd1;font-size:.9rem}.tour-card-meta{letter-spacing:.12em;text-transform:uppercase;color:#ffffffb3;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:.74rem;font-weight:700;display:flex}.tour-card-cta{background:var(--accent);color:var(--accent-ink,#111);letter-spacing:.04em;text-transform:none;white-space:nowrap;border-radius:10px;align-items:center;gap:8px;padding:9px 14px;font-size:.82rem;display:inline-flex}.tour-card-cta svg{width:14px;height:14px;transition:transform .25s}.tour-card:hover .tour-card-cta svg{transform:translate(3px)}
