:root{--lime:#e8fc81;--lime-dim:#e8fc8159;--lime-faint:#e8fc811f;--black:#070708;--charcoal:#141517;--charcoal-2:#1c1d20;--panel:#0c0d0fcc;--line:#ffffff1a;--text:#f4f5f2;--muted:#a3a7ab;--warn:#ffb35c;--good:#9cf2a2;--head:"Chakra Petch", "Rajdhani", system-ui, sans-serif;--body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--r:14px;--safe-b:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--black);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;overscroll-behavior:none;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:6px}.app{position:fixed;top:0;bottom:0;left:0;right:0}.stage{position:absolute;top:0;bottom:0;left:0;right:0}.stage canvas{touch-action:none}.vignette{pointer-events:none;z-index:1;background:radial-gradient(85% 75% at 50% 45%,#0000 55%,#00000080 100%);position:fixed;top:0;bottom:0;left:0;right:0}@media (min-width:761px){.app.panel-open .dock{right:452px}}.loader{z-index:60;background:var(--black);place-content:center;justify-items:center;gap:22px;transition:opacity .8s .1s,visibility 0s linear .9s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.loader img{width:min(280px,64vw)}.loader-bar{background:#222;border-radius:2px;width:160px;height:2px;overflow:hidden}.loader-bar i{background:var(--lime);width:40%;height:100%;animation:1.1s ease-in-out infinite load;display:block}@keyframes load{0%{transform:translate(-100%)}to{transform:translate(260%)}}.loader.gone{opacity:0;visibility:hidden}.topbar{z-index:40;padding:max(12px, env(safe-area-inset-top)) 16px 12px;pointer-events:none;background:linear-gradient(#070708d9,#07070800);justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.brand img{height:30px;display:block}.top-actions{align-items:center;gap:8px;display:flex}.btn-book{background:var(--lime);color:#0a0a0a;font-family:var(--head);letter-spacing:.02em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .3s;display:inline-flex;box-shadow:0 0 #e8fc8180,0 8px 24px #e8fc812e}.btn-book:hover{transform:translateY(-1px);box-shadow:0 0 0 4px #e8fc812e,0 10px 30px #e8fc8147}.btn-book.wide{width:100%}.top-cta .short{display:none}.icon-btn{border:1px solid var(--line);width:40px;height:40px;color:var(--text);-webkit-backdrop-filter:blur(10px);background:#141517b3;border-radius:999px;place-items:center;display:grid}.icon-btn:hover{border-color:var(--lime-dim);color:var(--lime)}.btn-primary,.btn-ghost{font-family:var(--head);letter-spacing:.02em;border:1px solid #0000;border-radius:999px;padding:11px 18px;font-size:15px;font-weight:600}.btn-primary{background:var(--lime);color:#0a0a0a}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{border-color:var(--lime-dim);color:var(--text);background:#ffffff0a}.btn-ghost:hover{background:var(--lime-faint)}.btn-ghost:disabled{opacity:.35;cursor:default}.btn-ghost.small{padding:7px 12px;font-size:13px}.btn-ghost.wide{width:100%;margin-top:12px}.big{padding:14px 24px;font-size:17px}.link{color:var(--muted);text-underline-offset:3px;font-size:14px;text-decoration:underline}.link:hover{color:var(--lime)}.muted{color:var(--muted)}.intro{z-index:30;pointer-events:none;background:linear-gradient(#05050600 38%,#0505068c 66%,#050506db 100%),linear-gradient(90deg,#0505068c,#05050600 55%);place-items:end start;padding:0 clamp(16px,6vw,80px) clamp(90px,14vh,140px);display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.intro-text{max-width:760px}.intro h1{font-family:var(--head);letter-spacing:-.01em;opacity:0;filter:blur(6px);text-shadow:0 2px 30px #0009;margin:0;font-size:clamp(32px,5.4vw,64px);font-weight:600;line-height:1.04;transition:opacity 1s,transform 1s,filter 1s,font-size .6s;transform:translateY(14px)}.intro h1.in{opacity:1;filter:none;transform:none}.intro h1.up{color:var(--lime);font-size:clamp(22px,3vw,34px)}.intro .l2{color:#e8e9e6;opacity:0;text-shadow:0 2px 20px #000000b3;max-width:560px;margin:14px 0 0;font-size:clamp(18px,2.2vw,24px);transition:opacity .9s,transform .9s;transform:translateY(10px)}.intro .l2.in{opacity:1;transform:none}.intro-cta{opacity:0;flex-wrap:wrap;gap:12px;margin-top:26px;transition:opacity .7s,transform .7s;display:flex;transform:translateY(10px)}.intro-cta.in{opacity:1;pointer-events:auto;transform:none}.intro-fine{color:var(--muted);opacity:0;max-width:460px;margin-top:18px;font-size:12.5px;transition:opacity .8s .3s}.intro-fine.in{opacity:1;pointer-events:auto}.skip{right:16px;bottom:calc(18px + var(--safe-b));pointer-events:auto;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#141517b3;border-radius:999px;padding:9px 16px;font-size:14px;position:fixed}.skip:hover{border-color:var(--lime-dim);color:var(--lime)}.pin{opacity:0;pointer-events:none;background:0 0;border:0;width:34px;height:34px;padding:0;transition:opacity .5s,transform .5s cubic-bezier(.2,1.4,.4,1);position:relative;transform:scale(.4)}.pin.on{opacity:1;pointer-events:auto;transform:scale(1)}.pin.dimmed{opacity:.35}.pin-ring{background:var(--lime);border-radius:50%;position:absolute;top:9px;bottom:9px;left:9px;right:9px;box-shadow:0 0 0 3px #0a0a0a8c,0 0 16px #e8fc81e6}.pin-ring:after{content:"";border:1.5px solid var(--lime);border-radius:50%;animation:2.2s ease-out infinite ping;position:absolute;top:-8px;bottom:-8px;left:-8px;right:-8px}.pin.seen .pin-ring{background:#fff;box-shadow:0 0 0 3px #0a0a0a8c,0 0 10px #fff9}.pin.seen .pin-ring:after{border-color:#ffffff80}.pin.sel .pin-ring:after{animation:none;top:-6px;bottom:-6px;left:-6px;right:-6px}@keyframes ping{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.7)}}.pin-label{white-space:nowrap;font-family:var(--head);letter-spacing:.03em;border:1px solid var(--lime-dim);color:var(--lime);opacity:0;pointer-events:none;background:#0a0b0cd9;border-radius:6px;padding:4px 9px;font-size:13px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%,-4px)}.pin.hov .pin-label{opacity:1;transform:translate(-50%,-8px)}.pin:focus-visible .pin-label{opacity:1;transform:translate(-50%,-8px)}.app.is-intro .pin.on .pin-label{opacity:0}.live-label{font-family:var(--head);white-space:nowrap;text-align:center;border:1px solid var(--lime-dim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08090ab8;border-radius:8px;padding:6px 12px 7px;box-shadow:0 0 24px #e8fc811f}.live-label b{color:var(--lime);letter-spacing:.03em;font-size:14px;font-weight:600;display:block}.live-label span{color:#e9ebe6;font-size:12.5px;font-family:var(--body);font-variant-numeric:tabular-nums;margin-top:1px;display:block}.live-label.ring{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0}.live-label.ring b{font-size:30px;line-height:1}.live-label.ring span{color:var(--muted);font-size:11px}.dot{vertical-align:0;border-radius:50%;width:8px;height:8px;margin:0 4px 0 6px;display:inline-block}.dot.l{background:var(--lime)}.dot.r{background:#fff}.tag{font-family:var(--head);letter-spacing:.04em;color:var(--lime);white-space:nowrap;border:1px solid var(--lime-dim);background:#08090ab3;border-radius:5px;padding:3px 8px;font-size:12px}.tag.small{color:#dfe3d8;border-color:#ffffff26;padding:2px 6px;font-size:10.5px}.tag.hot{color:#f4f5f2;border-color:var(--lime-dim);padding:5px 10px;font-size:13px;animation:.18s tagIn;box-shadow:0 0 20px #e8fc8126}@keyframes tagIn{0%{opacity:0;transform:translateY(4px)}}.icon-btn.active{color:var(--lime);border-color:var(--lime-dim)}.focus-bar{z-index:36;align-items:center;gap:10px;animation:.25s tagIn;display:flex;position:fixed;top:68px;left:16px}.focus-bar .btn-ghost{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c0d0fd1;align-items:center;gap:6px;display:inline-flex}.focus-bar span{font-family:var(--head);color:#e6e8e3;background:#0c0d0fb3;border-radius:8px;max-width:60vw;padding:6px 10px;font-size:13px}.hint{z-index:25;border:1px solid var(--line);opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#0c0d0fd1;border-radius:999px;max-width:calc(100vw - 32px);padding:9px 16px;font-size:14px;transition:opacity .4s,transform .4s;position:fixed;top:78px;left:50%;transform:translate(-50%,-8px)}.hint.in{opacity:1;transform:translate(-50%)}.toast{z-index:70;background:var(--lime);color:#0a0a0a;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:600;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}.dock{z-index:35;padding:14px 16px calc(14px + var(--safe-b));background:linear-gradient(#07070800,#070708e6);align-items:center;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.dock-tours{font-family:var(--head);letter-spacing:.02em;color:var(--lime);border:1px solid var(--lime-dim);background:#e8fc811a;border-radius:999px;flex:none;align-items:center;gap:8px;padding:10px 15px;font-size:14px;font-weight:600;display:inline-flex}.dock-tours:hover{background:#e8fc812e}.chips-row{scrollbar-width:none;gap:6px;padding:2px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 92%,#0000);mask-image:linear-gradient(90deg,#000 92%,#0000)}.chips-row::-webkit-scrollbar{display:none}.chip-nav{border:1px solid var(--line);color:#dcdedb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#141517b8;border-radius:999px;flex:none;padding:8px 13px;font-size:13.5px}.chip-nav:hover{border-color:var(--lime-dim);color:var(--lime)}.chip-nav.on{background:var(--lime);color:#0a0a0a;border-color:var(--lime)}.chip-nav.seen:not(.on):after{content:"";background:var(--lime);vertical-align:2px;border-radius:50%;width:5px;height:5px;margin-left:6px;display:inline-block}.chip-sep{background:var(--line);flex:none;align-self:center;width:1px;height:22px;margin:0 4px}.panel{z-index:45;background:linear-gradient(180deg, #e8fc810f, #e8fc8100 120px), repeating-linear-gradient(0deg, #ffffff03 0 1px, transparent 1px 3px), var(--panel);border-radius:var(--r);-webkit-backdrop-filter:blur(18px)saturate(1.2);border:1px solid #e8fc8138;flex-direction:column;width:420px;animation:.45s cubic-bezier(.2,.9,.3,1) panelIn;display:flex;position:fixed;top:70px;bottom:16px;right:16px;overflow:hidden;box-shadow:0 0 0 1px #0006,0 30px 80px #00000080,inset 0 0 40px #e8fc810a}@keyframes panelIn{0%{opacity:0;filter:blur(4px);transform:translate(24px)scale(.98)}to{opacity:1;filter:none;transform:none}}.panel-frame{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.panel-frame .c{border:2px solid var(--lime);width:14px;height:14px;position:absolute}.panel-frame .tl{border-top-left-radius:var(--r);border-bottom:0;border-right:0;top:-1px;left:-1px}.panel-frame .tr{border-top-right-radius:var(--r);border-bottom:0;border-left:0;top:-1px;right:-1px}.panel-frame .bl{border-bottom-left-radius:var(--r);border-top:0;border-right:0;bottom:-1px;left:-1px}.panel-frame .br{border-bottom-right-radius:var(--r);border-top:0;border-left:0;bottom:-1px;right:-1px}.grab{display:none}.panel-head{justify-content:space-between;align-items:center;gap:10px;padding:16px 16px 0 22px;display:flex}.kicker{font-family:var(--head);text-transform:uppercase;letter-spacing:.14em;color:var(--lime);align-items:center;gap:12px;font-size:12px;display:flex}.dots{gap:5px;display:inline-flex}.dots i{background:#ffffff26;border-radius:2px;width:16px;height:3px}.dots i.past{background:var(--lime-dim)}.dots i.now{background:var(--lime)}.icon-btn.close{width:34px;height:34px}.panel-body{scrollbar-width:thin;scrollbar-color:#333 transparent;flex:1;padding:6px 22px 18px;overflow-y:auto}.panel h2{font-family:var(--head);letter-spacing:-.005em;outline:none;margin:6px 0 10px;font-size:28px;font-weight:600;line-height:1.1}.lede,.story{color:#e1e3df;margin:0 0 14px;font-size:15.5px;line-height:1.55}.story{font-size:16px}.eq-line{margin:-4px 0 12px}.eq-name{font-family:var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12.5px}.sim-badge{color:var(--warn);background:#ffb35c12;border:1px solid #ffb35c59;border-radius:999px;align-items:center;gap:7px;margin-bottom:12px;padding:4px 10px;font-size:12px;display:inline-flex}.sim-badge:before{content:"";background:var(--warn);border-radius:50%;width:6px;height:6px}.benefit{border-left:2px solid var(--lime);background:#e8fc810a;border-radius:0 10px 10px 0;margin-top:16px;padding:14px 16px}.benefit h3,.cta-card h3,.review-note h3{font-family:var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin:0 0 6px;font-size:13px}.benefit p{color:#e9ebe6;margin:0;font-size:15px;line-height:1.55}.review-note{border:1px dashed var(--line);border-radius:10px;margin-top:14px;padding:12px 14px;font-size:13.5px;line-height:1.5}.review-note.good h3{color:var(--good)}.review-note.mid h3{color:#9fd8ff}.review-note.warn h3{color:var(--warn)}.review-note p{color:var(--muted);margin:0}.panel-tools{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.panel-foot{padding:14px 22px calc(16px + var(--safe-b));border-top:1px solid var(--line);background:#08090a80}.tour-nav{gap:10px;display:flex}.tour-nav button{flex:1}.cta-card{border:1px solid var(--lime-dim);background:#e8fc810d;border-radius:12px;gap:12px;margin-top:18px;padding:18px;display:grid}.cta-card h3{letter-spacing:0;text-transform:none;color:var(--text);margin:0;font-size:18px}.cta-card p{color:#dfe1dd;margin:0;font-size:15px;line-height:1.5}.viz{margin-top:4px}.viz-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.viz-title{font-family:var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:13px}.phase{font-family:var(--head);color:var(--lime);letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:13px}.seg{border:1px solid var(--line);background:#ffffff0a;border-radius:999px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg button{color:#cfd2cd;background:0 0;border:0;border-radius:999px;padding:6px 12px;font-size:13px}.seg button:hover{color:var(--lime)}.seg button.on{background:var(--lime);color:#0a0a0a;font-weight:600}.chip{font-family:var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--good);border:1px solid #9cf2a266;border-radius:999px;padding:3px 8px;font-size:11.5px}.chart{width:100%;height:auto;display:block;overflow:visible}.chart .grid{stroke:#ffffff14;stroke-width:1px}.chart .axis{fill:#7d8287;font-size:9px;font-family:var(--body)}.chart .line{fill:none;stroke-width:2.2px;stroke-linejoin:round;stroke-linecap:round}.chart .line.l{stroke:var(--lime);filter:drop-shadow(0 0 4px #e8fc8180)}.chart .line.r{stroke:#fff;opacity:.85}.chart .line.ghost{stroke:#ffffff2e;stroke-width:1.5px}.chart .cursor{stroke:#e8fc8180;stroke-dasharray:3 3}.cursor-dot{fill:var(--lime);filter:drop-shadow(0 0 6px #e8fc81e6)}.chart .basket{fill:none;stroke:#fff;stroke-width:1.5px}.chart .zone{fill:#e8fc811f;stroke:var(--lime-dim)}.chart .arm{stroke:var(--lime);stroke-width:4px;stroke-linecap:round;filter:drop-shadow(0 0 5px #e8fc81b3)}.chart .ghost-line{stroke:#ffffff40;stroke-dasharray:4 4}.legend{color:var(--muted);gap:16px;margin:6px 0 10px;font-size:12.5px;display:flex}.legend .dot{margin-left:0}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 6px;display:grid}.stat{border:1px solid var(--line);background:#ffffff09;border-radius:10px;min-width:0;padding:9px 10px}.stat span{color:var(--muted);margin-bottom:3px;font-size:11.5px;line-height:1.25;display:block}.stat b{font-family:var(--head);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:600;display:block;overflow:hidden}.stat.warn b{color:var(--warn)}.stat.good b{color:var(--good)}.fine{color:var(--muted);margin:8px 0 0;font-size:12.5px;line-height:1.5}.readout{justify-content:space-between;align-items:flex-end;gap:10px;margin:6px 0 4px;display:flex}.readout-label{color:var(--muted);font-size:12.5px;display:block}.readout-num{font-family:var(--head);color:var(--muted);font-size:15px}.readout-num b{color:var(--lime);font-variant-numeric:tabular-nums;text-shadow:0 0 18px #e8fc8159;font-size:40px;font-weight:600}.readout-test{color:#d6d9d3;text-align:right;font-size:12.5px}.chart.small{margin:2px 0 10px}.bars{gap:8px;margin:6px 0 12px;display:grid}.bar-row{grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;font-size:13px;display:grid}.bar-row span{color:var(--muted)}.bar-row b{text-align:right;font-family:var(--head);font-variant-numeric:tabular-nums}.bar{background:#ffffff0f;border-radius:6px;height:10px;overflow:hidden}.bar i{border-radius:6px;height:100%;transition:width 80ms linear;display:block}.bar i.r{background:#fff}.bar i.l{background:var(--lime);box-shadow:0 0 10px #e8fc8199}.lsi{border:1px solid var(--line);background:#ffffff08;border-radius:10px;padding:12px 14px}.lsi-top{color:#d9dcd6;justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.lsi-top b{font-family:var(--head);font-size:22px}.lsi-top b.warn{color:var(--warn)}.lsi-top b.good{color:var(--good)}.lsi-track{background:#ffffff12;border-radius:6px;height:8px;margin:10px 0 4px;position:relative}.lsi-track i{border-radius:6px;position:absolute;top:0;bottom:0;left:0}.lsi-track i.warn{background:var(--warn)}.lsi-track i.good{background:var(--good)}.lsi-track em{background:#fff;border-radius:1px;width:2px;position:absolute;top:-5px;bottom:-5px}.voltra{grid-template-columns:130px 1fr;align-items:center;gap:14px;margin-bottom:12px;display:grid}.dial{width:130px;height:130px}.dial-bg{fill:none;stroke:#ffffff14;stroke-width:9px;stroke-linecap:round}.dial-fg{fill:none;stroke:var(--lime);stroke-width:9px;stroke-linecap:round;filter:drop-shadow(0 0 6px #e8fc81b3);transition:stroke-dashoffset .1s linear}.dial-num{fill:#fff;font-family:var(--head);font-size:30px;font-weight:600}.dial-num.small{fill:var(--lime);font-size:13px}.dial-unit{fill:var(--muted);font-size:10px}.chart.tiny{margin-top:10px}.chart.boxed{background:#ffffff08;border-radius:8px;padding:2px}.slider{color:var(--muted);gap:6px;font-size:13px;display:grid}.slider b{color:var(--text);font-family:var(--head);font-variant-numeric:tabular-nums}input[type=range]{-webkit-appearance:none;appearance:none;background:0 0;width:100%;height:22px}input[type=range]::-webkit-slider-runnable-track{background:#ffffff1f;border-radius:3px;height:4px}input[type=range]::-moz-range-track{background:#ffffff1f;border-radius:3px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--lime);border:3px solid #0b0b0b;border-radius:50%;width:20px;height:20px;margin-top:-8px;box-shadow:0 0 10px #e8fc8199}input[type=range]::-moz-range-thumb{background:var(--lime);border:3px solid #0b0b0b;border-radius:50%;width:16px;height:16px}.mode-desc{color:#dfe1dc;margin:10px 0 0;font-size:14.5px;line-height:1.5}.phases{gap:6px;display:inline-flex}.phases span{font-family:var(--head);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 12px;font-size:13px;transition:all .25s}.phases span.on{background:var(--lime);color:#0a0a0a;border-color:var(--lime)}.prog{grid-template-columns:repeat(8,1fr);align-items:end;gap:6px;height:150px;display:grid}.prog.six{grid-template-columns:repeat(6,1fr)}.prog-col{text-align:center;grid-template-rows:auto 1fr auto;gap:4px;height:100%;display:grid}.prog-col b{font-family:var(--head);color:#d8dbd5;font-size:12px;font-weight:500}.prog-col i{background:linear-gradient(to top, #e8fc8140, var(--lime));transform-origin:bottom;border-radius:5px 5px 2px 2px;align-self:end;animation:.7s cubic-bezier(.2,.9,.3,1) both grow;display:block}.prog-col.deload i{background:#ffffff40}.prog-col span{color:var(--muted);font-size:11px}@keyframes grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.chart.protractor{max-width:300px;margin:0 auto}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip-btn{border:1px solid var(--line);color:#dcdedb;background:#ffffff0a;border-radius:999px;padding:7px 12px;font-size:13px}.chip-btn.on{background:var(--lime);color:#0a0a0a;border-color:var(--lime);font-weight:600}.steps{color:#dfe1dc;gap:6px;margin:14px 0 0;padding-left:20px;font-size:14px;line-height:1.5;display:grid}.steps li::marker{color:var(--lime);font-family:var(--head)}.disc{grid-template-columns:130px 1fr;align-items:start;gap:16px;display:grid}.chart.map{border:1px solid var(--line);background:#e8fc8108;border-radius:10px}.disc-controls{gap:4px;display:grid}.timeline{border-radius:8px;gap:3px;height:14px;margin-bottom:14px;display:flex;overflow:hidden}.timeline i{display:block}.t0{background:#fff}.t1{background:#9fd8ff}.t2{background:var(--lime)}.t3{background:#c7a6ff}.tl-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.tl-list li{grid-template-columns:10px 1fr;gap:12px;display:grid}.tl-list li>i{border-radius:3px;width:10px;height:10px;margin-top:5px}.tl-list b{font-family:var(--head);font-weight:600}.tl-list p{color:#d4d7d1;margin:2px 0 0;font-size:14px;line-height:1.45}.modal-back{z-index:55;background:#0000008c;place-items:center;padding:16px;animation:.25s fade;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes fade{0%{opacity:0}}.tour-menu{background:var(--panel);border-radius:var(--r);-webkit-backdrop-filter:blur(18px);border:1px solid #e8fc8138;width:min(520px,100%);padding:0 0 20px;animation:.35s cubic-bezier(.2,.9,.3,1) panelIn;position:relative}.tour-menu h2{font-family:var(--head);margin:8px 22px 6px;font-size:28px}.tour-menu>p{margin:0 22px 16px;font-size:15px;line-height:1.5}.tour-list{gap:10px;padding:0 16px;display:grid}.tour-card{text-align:left;border:1px solid var(--line);background:#ffffff08;border-radius:12px;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:16px;transition:border-color .2s,background .2s,transform .2s;display:grid}.tour-card:hover{border-color:var(--lime-dim);background:#e8fc810f;transform:translate(2px)}.tour-card:focus-visible{border-color:var(--lime-dim);background:#e8fc810f;transform:translate(2px)}.tour-num{font-family:var(--head);color:var(--lime);font-size:22px;font-weight:600}.tour-body b{font-family:var(--head);font-size:19px;font-weight:600;display:block}.tour-body span{color:var(--muted);margin-top:2px;font-size:14px;line-height:1.4;display:block}.tour-go{color:var(--lime);font-size:20px}.invite{z-index:38;border-radius:var(--r);border:1px solid var(--lime-dim);-webkit-backdrop-filter:blur(16px);background:#0c0d0fe0;width:min(380px,100vw - 32px);padding:18px 18px 16px;animation:.6s cubic-bezier(.2,.9,.3,1) invIn;position:fixed;bottom:84px;left:16px;box-shadow:0 20px 60px #00000080,0 0 40px #e8fc8114}@keyframes invIn{0%{opacity:0;transform:translateY(16px)}}.invite .close{width:30px;height:30px;position:absolute;top:10px;right:10px}.invite h3{font-family:var(--head);margin:0 34px 6px 0;font-size:20px;line-height:1.2}.invite p{color:#dcdfd9;margin:0 0 14px;font-size:14.5px;line-height:1.5}.invite-actions{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.review{z-index:50;max-width:min(420px,100vw - 32px);position:fixed;top:66px;left:16px}.review ul{border:1px solid var(--line);background:#0c0d0feb;border-radius:12px;gap:10px;max-height:60vh;margin:8px 0 0;padding:12px;font-size:13px;list-style:none;display:grid;overflow:auto}.review li{border-left:3px solid var(--good);gap:2px;padding-left:10px;display:grid}.review li.spec{border-color:#9fd8ff}.review li.placeholder{border-color:var(--warn)}.review li span{color:var(--muted);line-height:1.4}.fallback{text-align:center;place-content:center;justify-items:center;gap:16px;min-height:100%;padding:24px;display:grid}.fallback img{width:240px}.fallback h1{font-family:var(--head);margin:0}@media (max-width:760px){.brand img{height:22px}.btn-book{padding:10px 14px;font-size:14px}.top-cta .long{display:none}.top-cta .short{display:inline}.top-actions{gap:6px}.top-actions .icon-btn{width:36px;height:36px}.top-actions .icon-btn.share{display:none}.topbar{padding-left:12px;padding-right:12px}.intro{padding-bottom:calc(110px + var(--safe-b));background:linear-gradient(#0000 40%,#000c)}.intro-cta{flex-direction:column;align-items:stretch;width:100%}.intro-cta button{width:100%}.dock{flex-direction:column;align-items:stretch;gap:8px;padding-top:30px}.dock-main{align-self:flex-start}.dock-tours{padding:9px 13px;font-size:13.5px}.app.panel-open .dock,.app.panel-open .hint{display:none}.panel{border-bottom:0;border-radius:18px 18px 0 0;width:auto;height:56vh;max-height:56vh;animation:.4s cubic-bezier(.2,.9,.3,1) sheetIn;top:auto;bottom:0;left:0;right:0}@keyframes sheetIn{0%{opacity:0;transform:translateY(40%)}}.panel-frame .bl,.panel-frame .br{display:none}.grab{background:#ffffff40;border-radius:3px;width:40px;height:4px;margin:8px auto 0;display:block}.panel-head{padding-top:6px}.panel h2{font-size:23px}.lede,.story{font-size:15px}.invite{left:16px;bottom:calc(118px + var(--safe-b))}.stats{gap:6px}.stat b{font-size:15px}.disc{grid-template-columns:110px 1fr}.voltra{grid-template-columns:112px 1fr}.dial{width:112px;height:112px}.skip{bottom:calc(18px + var(--safe-b))}.live-label b{font-size:12.5px}.live-label span{font-size:11.5px}}@media (max-width:760px) and (max-height:700px){.panel{height:60vh;max-height:60vh}}.dock-main{flex:none;gap:8px;display:flex}.dock-tours.alt{color:#f1f3ee;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#141517b8;border-color:#ffffff38}.dock-tours.alt:hover,.dock-tours.alt.on{border-color:var(--lime);color:var(--lime)}.pin.labeled .pin-label{opacity:1;transform:translate(-50%,-8px)}.fit{color:#cfd2cd!important;margin:10px 0 0!important;font-size:14px!important}.fit b{color:var(--lime);font-weight:600}.say{color:#e6e8e3;gap:5px;margin:0 0 14px;padding-left:18px;font-size:14.5px;line-height:1.45;display:grid}.say li::marker{color:var(--lime)}.viz .viz-title:not(:first-child),.area-detail .viz-title{margin-top:16px}.treat-pick{grid-template-columns:112px 1fr;align-items:center;gap:14px;margin:14px 0 6px;display:grid}.body-fig{width:112px;height:auto;display:block}.body-shape>*{fill:#dff6ff21;stroke:#dff6ff66;stroke-width:1px}.body-dot{cursor:pointer}.body-dot .hit{fill:#0000}.body-dot .core{fill:var(--lime);transition:r .2s}.body-dot .ring{fill:none;stroke:var(--lime);stroke-width:1.2px;opacity:.35}.body-dot.on .ring{opacity:1}.body-dot:hover .ring{opacity:.8}.area-list{flex-wrap:wrap;gap:7px;display:flex}.area-name{font-family:var(--head);color:var(--lime);margin:16px 0 0;font-size:20px}.area-p{color:#dfe1dc;margin:0;font-size:14.5px;line-height:1.55}.area-detail{animation:.3s fade}.area-detail .chips{flex-wrap:wrap;gap:7px;display:flex}.chip-btn.tour{border-color:var(--lime-dim);color:var(--lime)}.needle-fig{border:1px solid var(--line);background:#ffffff08;border-radius:10px;width:100%;height:auto;display:block}.needle-fig .lay{font:600 10px var(--head);fill:#d9dcd6;letter-spacing:.06em;text-transform:uppercase}.needle-fig .lay.hi{fill:var(--lime)}.needle-fig .pulse{transform-origin:130px 118px;animation:2.2s ease-out infinite npulse}@keyframes npulse{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}.link-btn{color:var(--lime);text-underline-offset:3px;font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.basics-back{z-index:60}.basics{border:1px solid var(--line);background:#0d0e10;border-radius:16px;flex-direction:column;width:min(820px,100%);max-height:min(88vh,900px);display:flex;overflow:hidden}.basics.inline{text-align:left;background:0 0;border:0;max-height:none}.basics-scroll{-webkit-overflow-scrolling:touch;padding:4px 24px 24px;overflow-y:auto}.basics h2{font-family:var(--head);margin:4px 0 10px;font-size:30px}.basics h3{font-family:var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin:26px 0 8px;font-size:14px}.basics h4{font-family:var(--head);margin:0 0 6px;font-size:16px}.basics p{color:#e3e5e0;margin:0 0 10px;font-size:15px;line-height:1.6}.basics p.muted{color:var(--muted);font-size:14px}.basics-lede{font-size:17px!important}.basics-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.basics-grid section{border:1px solid var(--line);background:#ffffff05;border-radius:12px;padding:14px}.basics-grid .say{margin-bottom:8px;font-size:14px}.basics-grid p{margin:0 0 6px;font-size:14px}.basics-cta{flex-wrap:wrap;align-items:center;gap:14px;margin:6px 0 20px;display:flex}.basics .phone{color:#e3e5e0;-webkit-user-select:all;user-select:all;font-size:15px}.basics .steps{margin:0 0 6px}.fallback{place-content:start center;height:100%;padding-top:40px;overflow-y:auto}@media (max-width:760px){.treat-pick{grid-template-columns:88px 1fr}.body-fig{width:88px}.basics-scroll{padding:4px 16px 20px}.basics h2{font-size:24px}.focus-bar span{max-width:44vw}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.15s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.pin-ring:after{display:none}}

/* ===== v2: premium polish, clearer click targets, new graphics ===== */
.panel,.tour-menu,.invite{backdrop-filter:blur(22px) saturate(1.3)}
.icon-btn,.dock-tours.alt,.chip-nav{backdrop-filter:blur(12px)}
.panel{border-color:#e8fc8145;box-shadow:0 0 0 1px #0008,0 40px 100px #000000a6,0 0 60px #e8fc810f,inset 0 1px 0 #ffffff14,inset 0 0 40px #e8fc810a}
.panel:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,var(--lime),#0000);opacity:.55;height:1px;position:absolute;top:0;left:14%;right:14%}
.panel h2{font-size:30px;letter-spacing:-.01em}
.kicker:before{content:"";background:var(--lime);border-radius:50%;width:6px;height:6px;box-shadow:0 0 10px var(--lime)}
.btn-book{position:relative;overflow:hidden}
.btn-book:after{content:"";pointer-events:none;background:linear-gradient(105deg,#fff0 35%,#ffffff8c 50%,#fff0 65%);position:absolute;top:0;bottom:0;left:-60%;width:60%;animation:6s ease-in-out infinite zzsheen}
@keyframes zzsheen{0%,72%{transform:translate(0)}to{transform:translate(380%)}}
.vignette{background:radial-gradient(90% 78% at 50% 44%,#0000 52%,#000000a6 100%)}
.brand{align-items:center;gap:14px;text-decoration:none;display:flex}
.brand:after{content:"3D studio tour \b7  League City, TX";font-family:var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-left:1px solid var(--line);padding-left:14px;font-size:11px;font-weight:600;white-space:nowrap}
.loader-note{font-family:var(--head);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:11px}
.dock{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.chips-row{flex:1;min-width:0}
.chips-arrow{border:1px solid var(--line);color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#141517d9;border-radius:999px;flex:none;place-items:center;width:36px;height:36px;display:grid}
.chips-arrow:hover{border-color:var(--lime-dim);color:var(--lime)}

/* intro stat strip */
.intro-specs{opacity:0;flex-wrap:wrap;gap:10px;margin:22px 0 0;padding:0;list-style:none;transition:opacity .8s .1s,transform .8s .1s;display:flex;transform:translateY(10px)}
.intro-specs.in{opacity:1;transform:none}
.intro-specs li{border:1px solid #ffffff24;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0b0c8c;border-left:2px solid var(--lime);border-radius:4px 10px 10px 4px;gap:1px;min-width:132px;padding:9px 14px 10px;display:grid}
.intro-specs b{font-family:var(--head);color:var(--lime);font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;line-height:1.1}
.intro-specs span{color:#d5d8d2;font-size:12.5px;line-height:1.3}

/* equipment dots: name always shown, right next to the dot */
.pin:not(.labeled) .pin-label{opacity:1;color:#f1f3ee;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0b0cd1;border-color:#ffffff33;padding:3px 8px;font-size:11.5px;top:50%;bottom:auto;left:calc(100% - 3px);transform:translateY(-50%)}
.pin.on:not(.labeled) .pin-label{pointer-events:auto;cursor:pointer}
.pin.hov:not(.labeled) .pin-label,.pin.sel:not(.labeled) .pin-label,.pin:not(.labeled):focus-visible .pin-label{color:#0a0a0a;background:var(--lime);border-color:var(--lime);transform:translate(4px,-50%)}
.pin.dimmed:not(.labeled) .pin-label{opacity:0;pointer-events:none}
.pin.seen:not(.hov):not(.sel):not(.labeled) .pin-label{color:#c9cdc6;border-color:#ffffff1f}
.app.is-intro .pin.on .pin-label{opacity:0;pointer-events:none}
.pin-ring{top:10px;bottom:10px;left:10px;right:10px}

/* look-closer spots (screens, whiteboard, sign) */
.spot{background:0 0;border:0;width:30px;height:30px;padding:0;transition:opacity .3s;display:block;position:relative}
.spot i{background:#0a0b0cb3;border:1.5px solid #fff;border-radius:50%;transition:transform .2s,border-color .2s;position:absolute;top:6px;bottom:6px;left:6px;right:6px;box-shadow:0 0 0 2px #0a0a0a66,0 0 12px #ffffff4d}
.spot i:before,.spot i:after{content:"";background:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.spot i:before{width:8px;height:1.5px}
.spot i:after{width:1.5px;height:8px}
.spot span{white-space:nowrap;font-family:var(--head);letter-spacing:.03em;color:#f4f5f2;border:1px solid var(--lime-dim);opacity:0;pointer-events:none;background:#0a0b0ce6;border-radius:6px;padding:5px 10px;font-size:13px;transition:opacity .2s,transform .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%,2px)}
.spot.hov i,.spot:focus-visible i{border-color:var(--lime);transform:scale(1.18)}
.spot.hov i:before,.spot.hov i:after{background:var(--lime)}
.spot.hov span,.spot:focus-visible span{opacity:1;transform:translate(-50%,-4px)}
.app.is-intro .spot,.app.panel-open .spot{opacity:0;pointer-events:none}
.pin.away,.spot.away{pointer-events:none!important;opacity:0!important}

/* how-to hint */
.hint{border-radius:14px;flex-wrap:wrap;justify-content:center;gap:6px 16px;max-width:min(760px,100vw - 32px);padding:10px 16px;font-size:13.5px;display:flex}
.hint span{align-items:center;gap:7px;display:inline-flex}
.hint .k{border-radius:50%;flex:none;width:11px;height:11px;display:inline-block}
.hint .k.dot{background:var(--lime);box-shadow:0 0 8px var(--lime)}
.hint .k.ring{border:1.5px solid #fff}
.hint .k-egg{color:var(--lime)}

/* hidden surprises */
.egg-count{font-family:var(--head);color:var(--lime);border:1px solid var(--lime-dim);font-variant-numeric:tabular-nums;background:#141517b3;border-radius:999px;align-items:center;gap:6px;height:40px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}
.tag.egg{color:#0a0a0a;background:var(--lime);border-color:var(--lime);font-weight:600}
.tag.warm{color:#ffcf99;border-color:#ffb35c80}
.toast{font-family:var(--head);box-shadow:0 10px 40px #e8fc8140}

/* what we treat: injury tags */
.tags{flex-wrap:wrap;gap:6px;margin:0 0 4px;display:flex}
.tags span{border:1px solid #e8fc8147;color:#f1f4e6;background:#e8fc8114;border-radius:6px;padding:5px 9px;font-size:13px;line-height:1.2}
.tags.post span{color:#e3f1ff;background:#9fd8ff14;border-color:#9fd8ff4d}

/* sidebar graphics */
.bfr-fig,.stem-fig{margin:0 0 4px}
.bfr-fig .limb{fill:#dff6ff14;stroke:#dff6ff59;stroke-width:1.2px}
.bfr-fig .pump{fill:var(--lime);transform-origin:214px 99px;animation:1.6s ease-in-out infinite zzpump}
@keyframes zzpump{0%,to{opacity:.08;transform:scale(.96)}50%{opacity:.22;transform:scale(1.05)}}
.bfr-fig .art,.bfr-fig .vein{fill:none;stroke-linecap:round;stroke-dasharray:7 7;stroke-width:3.4px}
.bfr-fig .art{stroke:#ff8f7a}
.bfr-fig .vein{stroke:#7fc6ff}
.bfr-fig .fast{animation:.7s linear infinite zzflow}
.bfr-fig .art.slow{opacity:.8;stroke-width:2.2px;animation:2.4s linear infinite zzflow}
.bfr-fig .vein.slow{animation:3.6s linear infinite zzflow}
.bfr-fig .vein.off{opacity:.22;stroke-width:1.6px}
@keyframes zzflow{to{stroke-dashoffset:-14px}}
.bfr-fig .cuff{fill:#0e0f11;stroke:var(--lime);stroke-width:1.6px;filter:drop-shadow(0 0 6px #e8fc8159)}
.bfr-fig .strap{fill:none;stroke:#ffffff26;stroke-width:1px}
.bfr-fig .led{fill:var(--lime)}
.bfr-fig .tube{fill:none;stroke:#ffffff59;stroke-width:1.4px;stroke-dasharray:2 3}
.bfr-fig .gauge-bg{fill:none;stroke:#ffffff26;stroke-width:5px;stroke-linecap:round}
.bfr-fig .gauge-fg{fill:none;stroke:var(--lime);stroke-width:5px;stroke-linecap:round}
.bfr-fig .needle{stroke:#fff;stroke-width:1.6px;stroke-linecap:round}
.needle-fig .lay.in{fill:#ffb3a3}
.needle-fig .lay.out{fill:#a9d8ff}
.needle-fig .lay.sub{text-transform:none;letter-spacing:.02em;font-weight:500;opacity:.85}
.needle-fig .lay.warm{fill:#ffcf99}
.stem-fig .wave{fill:none;stroke:var(--lime);stroke-width:2px;stroke-linecap:round;transform-origin:190px 62px;animation:2s linear infinite zzwave}
@keyframes zzwave{0%{opacity:0;transform:scale(.35)}14%{opacity:.95}to{opacity:0;transform:scale(3.3)}}
.stem-fig .sore{fill:none;stroke:#ffb35c;stroke-width:1.5px;transform-origin:190px 132px;animation:2s ease-out infinite npulse}
.stem-fig .head{fill:#101214;stroke:#dff6ff}

@media (max-width:980px){.brand:after{display:none}}
@media (max-width:760px){
.chips-arrow{display:none}
.intro-specs{gap:6px;margin-top:14px}
.intro-specs li{flex:1;min-width:0;padding:7px 9px 8px}
.intro-specs b{font-size:18px}
.intro-specs span{font-size:11px}
.pin:not(.labeled) .pin-label{padding:2px 6px;font-size:10.5px}
.egg-count{height:36px;padding:0 10px}
.panel h2{font-size:23px}
.hint{font-size:12.5px;top:66px}
}
@media (prefers-reduced-motion:reduce){.btn-book:after{display:none}}

/* ===== v3: injury hub, visitor-first intro ===== */
.hub-tip{color:var(--muted);margin:-4px 0 8px;font-size:12.5px}
.tags button{border:1px solid #e8fc8170;color:#f1f4e6;background:#e8fc8114;border-radius:6px;padding:5px 9px;font-size:13px;line-height:1.2;transition:background .2s,color .2s}
.tags button:after{content:"+";color:var(--lime);margin-left:6px;font-weight:600}
.tags button:hover{background:#e8fc8133}
.tags button.on{background:var(--lime);color:#0a0a0a;border-color:var(--lime);font-weight:600}
.tags button.on:after{content:"\2013";color:#0a0a0a}
.tags.post button{color:#e3f1ff;background:#9fd8ff14;border-color:#9fd8ff80}
.tags.post button:after{color:#9fd8ff}
.tags.post button.on{color:#06131c;background:#9fd8ff;border-color:#9fd8ff}
.tags.post button.on:after{color:#06131c}
.hub-card{border:1px solid var(--lime-dim);background:#e8fc810d;border-radius:12px;gap:8px;margin-top:12px;padding:14px 16px;animation:.3s fade;display:grid}
.hub-card h4{font-family:var(--head);color:var(--lime);margin:0;font-size:17px;font-weight:600}
.hub-card p{color:#e6e8e3;margin:0;font-size:14.5px;line-height:1.5}
.hub-card b{color:#fff;font-weight:600}
.intro-specs b{font-size:19px}
.intro-specs li{flex:1;max-width:240px}
.intro-cta{align-items:center}
.intro-tour{color:#e8e9e6;flex-basis:100%;text-align:left;font-size:14.5px}
@media (max-width:760px){.intro-cta .btn-book{width:100%}.intro-specs b{font-size:16px}.intro-specs li{max-width:none}}

/* ===== v4: door rings, zoom, readable intro ===== */
.door-pin{font-family:var(--head);white-space:nowrap;color:#0a0a0a;background:var(--lime);cursor:pointer;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600;line-height:1.1;box-shadow:0 0 20px #e8fc8166,0 4px 14px #00000080;transition:transform .2s,box-shadow .2s}
.door-pin:hover,.door-pin:focus-visible{transform:scale(1.06);box-shadow:0 0 28px #e8fc8199,0 4px 14px #00000080}
.zoom-out{z-index:36;font-family:var(--head);color:#f1f4e6;border:1px solid #e8fc8166;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#0c0d0fd9;border-radius:999px;align-items:center;gap:7px;padding:9px 15px;font-size:14px;animation:.25s tagIn;display:inline-flex;position:fixed;top:72px;left:50%;transform:translate(-50%)}
.zoom-out:hover{border-color:var(--lime);color:var(--lime)}
.dt-hint{z-index:25;font-family:var(--head);color:#e6e8e3;border:1px solid var(--line);pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c0d0fd1;border-radius:999px;padding:8px 15px;font-size:13.5px;animation:.4s tagIn;position:fixed;top:72px;left:50%;transform:translate(-50%)}
.intro .l2{isolation:isolate;position:relative}
.intro .l2:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(60% 60% at 40% 50%,#000000c7 0%,#00000094 45%,#0000 100%);filter:blur(8px);position:absolute;top:-26px;bottom:-26px;left:-56px;right:-56px}
@media (max-width:760px){.zoom-out,.dt-hint{top:66px}.door-pin{padding:8px 13px}.intro .l2:before{left:-24px;right:-24px}}
.pin.ll:not(.labeled) .pin-label{left:auto;right:calc(100% - 3px)}
.pin.ll.hov:not(.labeled) .pin-label,.pin.ll.sel:not(.labeled) .pin-label{transform:translate(-4px,-50%)}
.door-pin.ll{transform:translate(-36%)}
.door-pin.lr{transform:translate(36%)}

/* ===== v5: StemWave, jump test, room card, floor plan, phone polish ===== */
.pin.cta .pin-ring{box-shadow:0 0 0 3px #0a0a0a8c,0 0 24px #e8fc81}
.pin.cta .pin-ring:before{content:"";border:2px solid var(--lime);border-radius:50%;animation:1.8s ease-out infinite ping;position:absolute;top:-13px;bottom:-13px;left:-13px;right:-13px}
.pin.cta:not(.labeled) .pin-label,.pin.cta.seen:not(.hov):not(.sel):not(.labeled) .pin-label{color:#0a0a0a;background:var(--lime);border-color:var(--lime);padding:6px 11px;font-size:13.5px;font-weight:600;box-shadow:0 0 22px #e8fc8166}
.room-card{z-index:26;border:1px solid var(--lime-dim);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c0d0fe6;border-radius:14px;gap:8px;width:min(440px,100vw - 32px);padding:12px 14px;font-size:13.5px;animation:.35s fade;display:grid;position:fixed;top:78px;left:50%;transform:translate(-50%)}
.room-card b{font-family:var(--head);color:var(--lime);font-size:16px}
.room-card span{color:#dcdfd9}
.room-list{flex-wrap:wrap;gap:6px;display:flex}
.room-list .chip-nav.hot{border-color:var(--lime);color:var(--lime)}
.room-foot{justify-content:space-between;gap:12px;display:flex}
.room-foot .link-btn{min-height:32px;font-size:14px}
.link-btn.dim{color:var(--muted)}
.door-pin.near{pointer-events:none;opacity:0!important}
.cta-note{color:#c9cdc6;font-size:12.5px;display:block}
.panel-foot .cta-note,.cta-card .cta-note{text-align:center;margin-top:6px}
.cta-card .cta-note{margin-top:-4px}
.cta-note.left{margin:6px 0 0}
.cta-stack{flex-direction:column;align-items:flex-start;gap:6px;display:flex}
.cta-stack .cta-note{padding-left:6px}
.intro-cta{align-items:flex-start}
.phone-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}
.phone-x{gap:14px;display:inline-flex}
.copy-btn{border-color:var(--lime-dim);color:var(--lime)}
.jump .viz-head{align-items:center}
.jump-btn{min-width:128px;min-height:44px;font-size:16px}
.jump-btn:disabled{opacity:.55}
.jump-out{animation:.3s fade}
.jump .cta-card{margin-top:10px}
.stem-fig .wave2{fill:none;stroke:var(--lime);stroke-width:2.2px;stroke-linecap:round;transform-origin:92px 164px;animation:1.8s linear infinite zqfocus}
@keyframes zqfocus{0%{opacity:0;transform:scale(1)}14%{opacity:.95}80%{opacity:.9}to{opacity:0;transform:scale(.07)}}
.stem-fig .sore2{fill:none;stroke:#ffb35c;stroke-width:1.5px;transform-origin:92px 164px;animation:1.8s ease-out infinite npulse}
.stem-fig .focus{fill:#fff;filter:drop-shadow(0 0 5px #fff)}
.stem-fig .num{fill:var(--lime)}
.stem-fig .numt{font:700 10px var(--head);fill:#0a0a0a}
.stem-fig .st{font:600 11px var(--head);fill:#f1f3ee}
.stem-fig .st.warm{fill:#ffcf99}
.stem-fig .up{fill:none;stroke:#ffb35c;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}
.stem-facts{gap:8px;margin-top:14px;display:grid}
.stem-facts div{border:1px solid var(--line);background:#ffffff08;border-radius:10px;gap:2px;padding:9px 12px;display:grid}
.stem-facts span{color:var(--muted);font-family:var(--head);letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.stem-facts b{color:#f1f3ee;font-size:15px;font-weight:600}
.maker{border-left:3px solid var(--lime);color:#e6e8e3;background:#e8fc810d;border-radius:0 8px 8px 0;margin:0 0 12px;padding:10px 12px;font-size:14.5px;line-height:1.5}
.steps b{color:#fff;font-weight:600}
@media (prefers-reduced-motion:reduce){.stem-fig .wave2{opacity:.85;transform:scale(var(--s));animation:none!important}.pin.cta .pin-ring:before{animation:none!important;opacity:.6}}
@media (max-width:760px),(pointer:coarse){
.pin{width:44px;height:44px}
.pin-ring{top:15px;bottom:15px;left:15px;right:15px}
.pin:not(.labeled) .pin-label{left:calc(100% - 9px)}
.pin.ll:not(.labeled) .pin-label{left:auto;right:calc(100% - 9px)}
.spot{width:44px;height:44px}
.spot i{top:13px;bottom:13px;left:13px;right:13px}
.chip-nav{align-items:center;min-height:44px;padding-top:0;padding-bottom:0;display:inline-flex}
.dock-tours,.door-pin,.copy-btn,.chips-arrow{min-height:44px}
.chips-arrow{width:44px}
.room-foot .link-btn{min-height:44px}
}
@media (max-width:760px){
.cta-stack{align-items:stretch;width:100%}
.cta-stack .cta-note{text-align:center;padding:0}
.room-card{top:64px}
.app.panel-open .toast{top:64px;bottom:auto}
.intro-cta{align-items:stretch}
}

@media (max-width:760px){
.pin.cta:not(.labeled) .pin-label,.pin.cta.ll:not(.labeled) .pin-label{top:auto;bottom:calc(100% - 10px);left:50%;right:auto;transform:translate(-50%)!important}
.pin.cta.sel:not(.labeled) .pin-label{display:none}
.app.panel-open .toast{top:auto;bottom:calc(56vh + 14px);max-width:calc(100vw - 32px);text-align:center}
}

/* ===== v6: StemWave wording ===== */
.stem-qa{gap:8px;margin:14px 0 6px;display:grid}
.stem-qa div{border:1px solid var(--line);background:#ffffff08;border-radius:10px;gap:3px;padding:9px 12px;display:grid}
.stem-qa dt{color:var(--muted);font-family:var(--head);letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.stem-qa dd{color:#f1f3ee;margin:0;font-size:14.5px;line-height:1.5}
@media (max-width:760px){.pin.sel[data-pid=stemwave]:not(.labeled) .pin-label{display:none}}

/* ===== v7: TechDisc tiles ===== */
.td-bar{align-items:center;gap:14px;margin:10px 0 4px;display:flex}
.td-throw{gap:1px;min-width:0;display:grid}
.td-throw span,.td-tile span{color:var(--muted);font-family:var(--head);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px}
.td-throw b{color:var(--lime);font-family:var(--head);font-size:17px;font-weight:600}
.td-tiles{grid-template-columns:repeat(3,1fr);gap:6px;margin:6px 0;display:grid}
.td-tiles.two{grid-template-columns:1.5fr 1fr;margin-bottom:14px}
.td-tile{border:1px solid var(--line);background:#0b0d10;border-radius:10px;gap:1px;min-width:0;padding:8px 10px 7px;display:grid}
.td-tile b{color:#fff;font-family:var(--head);font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;line-height:1.15}
.td-tile i{color:#c9cdc6;font-size:12px;font-style:normal;line-height:1.25}
.td-tile.wide b{color:var(--lime);font-size:28px}
.td-tiles.fill .td-tile,.td-tile.pop{animation:.36s ease-out both zrpop}
@keyframes zrpop{0%{opacity:.25;transform:scale(.93)}60%{opacity:1;transform:scale(1.04)}to{transform:none}}
.slider small{color:var(--muted);padding-bottom:5px;font-size:11.5px;line-height:1.3;display:block}
@media (prefers-reduced-motion:reduce){.td-tiles.fill .td-tile,.td-tile.pop{animation:none}}

/* ===== v8: flex line story and chart ===== */
.fx-story{border:1px solid var(--lime-dim);background:linear-gradient(160deg,#e8fc811a,#0b0d10 62%);border-radius:12px;grid-template-columns:104px 1fr;align-items:start;gap:12px;margin:2px 0 14px;padding:12px;display:grid}
.fx-art{align-self:center;width:100%;height:auto;display:block;overflow:visible}
.fx-art .fx-block{stroke:#ffffff59;stroke-width:1.5px;stroke-dasharray:3 4}
.fx-art .fx-tee{fill:#ffffffb3}
.fx-art .fx-trunk{fill:#dff6ffb3}
.fx-art .fx-tree{fill:#dff6ff24;stroke:#dff6ffb3;stroke-width:1.2px;stroke-linejoin:round}
.fx-art .fx-basket{fill:none;stroke:#fff;stroke-width:1.6px}
.fx-art .fx-ghost{fill:none;stroke:#e8fc8133;stroke-width:3px;stroke-linecap:round}
.fx-art .fx-line{fill:none;stroke:var(--lime);stroke-width:3px;stroke-linecap:round;filter:drop-shadow(0 0 4px #e8fc8199)}
.fx-art .fx-disc{fill:#fff;stroke:var(--lime);stroke-width:1.5px}
.fx-art text{fill:#c9cdc6;font-family:var(--head);font-size:12px}
.fx-copy{min-width:0}
.fx-story h4{color:#fff;font-family:var(--head);grid-column:1/-1;margin:0;font-size:18px;font-weight:600;line-height:1.25}
.fx-copy p{color:#e9ebe6;margin:0 0 8px;font-size:14px;line-height:1.5}
.fx-steps{counter-reset:fx;flex-wrap:wrap;gap:5px;margin:0 0 9px;padding:0;list-style:none;display:flex}
.fx-steps li{counter-increment:fx;border:1px solid var(--line);color:#f1f3ee;background:#ffffff0a;border-radius:999px;padding:3px 9px 3px 4px;font-size:12.5px;line-height:1.3}
.fx-steps li:before{content:counter(fx);background:var(--lime);color:#0a0a0a;font-family:var(--head);text-align:center;border-radius:50%;width:17px;height:17px;margin-right:6px;font-size:11.5px;font-weight:600;line-height:17px;display:inline-block}
.fx-copy .fx-mission{border-top:1px solid var(--line);margin-bottom:2px;padding-top:8px}
.fx-mission b{color:var(--lime);font-weight:600}
.fx-picks{justify-content:flex-start;align-items:flex-start;gap:8px 14px}
.fx-pick{gap:4px;min-width:0;display:grid}
.fx-pick>span{color:var(--muted);font-family:var(--head);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px}
.td-throw i{color:#c9cdc6;font-size:12.5px;font-style:normal}
.fine.fx-try{color:#e9ebe6;margin:-4px 0 8px;font-size:13px}
.chart .td-tree{fill:#dff6ff2e;stroke:#dff6ffb3;stroke-width:1px}
.chart.map{overflow:hidden}
@media (max-width:420px){.fx-story{grid-template-columns:84px 1fr;gap:10px;padding:10px}}
/* v9 */
.live-label span+span{color:#c9cdc6;font-size:11.5px}
.live-label i{color:var(--muted);font-family:var(--head);letter-spacing:.1em;text-transform:uppercase;margin-top:3px;font-size:9.5px;font-style:normal;display:block}
/* v10: story leads, TechDisc below */
.td-about{color:#e9ebe6;margin:0 0 4px;font-size:14.5px;line-height:1.55}
.fx-story+.td-bar{margin:0 0 12px}
/* v11: shoulder model panel */
.zu-bar{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 14px;display:flex}
.zu-tip{color:var(--muted);font-size:12.5px}
.fine a{color:var(--lime)}

/* ---- v12: Back to gym pill in the treatment room */
.room-back{z-index:36;font-family:var(--head);color:#0a0a0a;background:var(--lime);cursor:pointer;border:0;border-radius:999px;align-items:center;min-height:44px;padding:0 16px;font-size:14px;font-weight:600;animation:.25s tagIn;display:inline-flex;position:fixed;top:66px;left:16px;box-shadow:0 0 20px #e8fc8155,0 4px 14px #00000080}
.room-back:hover,.room-back:focus-visible{box-shadow:0 0 28px #e8fc8199,0 4px 14px #00000080}

/* ---- v15: Hyper Pro knob list */
.zy-knobs{list-style:none;gap:8px;margin:0 0 12px;padding:0;font-size:14px;line-height:1.45;display:grid}
.zy-knobs li{align-items:flex-start;gap:10px;display:flex}
.zy-dot{border-radius:50%;flex:none;width:14px;height:14px;margin-top:3px;display:inline-block;box-shadow:0 0 0 2px #0006}
.zy-dot.g{background:#62b528}
.zy-dot.b{background:#00a6c6}
/* v16: tappable Hyper Pro knobs */
.zy-knobs button{text-align:left;color:inherit;font:inherit;background:#ffffff0a;border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;display:flex;cursor:pointer}
.zy-knobs button:hover{border-color:var(--lime-dim)}
.zy-knobs em{color:var(--lime);font-style:normal;white-space:nowrap}
.zy-kn{--c:#7ed63a;cursor:pointer;background:0 0;border:0;width:44px;height:44px;padding:0;display:block;position:relative}
.zy-kn.b{--c:#19c3e6}
.zy-kn i{border:2.5px solid var(--c);background:#0a0b0c99;border-radius:50%;position:absolute;top:8px;bottom:8px;left:8px;right:8px;box-shadow:0 0 0 2px #0a0a0a66,0 0 14px var(--c)}
.zy-kn i:before{content:"";background:var(--c);border-radius:50%;position:absolute;top:8px;bottom:8px;left:8px;right:8px}
.zy-kn i:after{content:"";border:2px solid var(--c);opacity:0;border-radius:50%;animation:1.8s ease-out infinite zyp;position:absolute;top:-8px;bottom:-8px;left:-8px;right:-8px}
@keyframes zyp{0%{opacity:.85;transform:scale(.6)}to{opacity:0;transform:scale(1.1)}}
@media (prefers-reduced-motion:reduce){.zy-kn i:after{animation:none}}
.zy-kn span{white-space:nowrap;font-family:var(--head);letter-spacing:.03em;color:#f4f5f2;border:1px solid var(--c);opacity:0;pointer-events:none;background:#0a0b0ce6;border-radius:6px;padding:5px 10px;font-size:13px;transition:opacity .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%,-2px)}
.zy-kn:hover span,.zy-kn:focus-visible span{opacity:1}
.zy-kn:hover i,.zy-kn:focus-visible i{transform:scale(1.15)}
/* v16: VOLTRA screen you can use */
.zk-dev{font-family:var(--head);background:#020203;border:1px solid #2a2f33;border-radius:22px;gap:10px;margin-bottom:12px;padding:14px;display:grid;box-shadow:inset 0 0 0 3px #0c0e10,0 8px 24px #0008}
.zk-top{justify-content:space-between;align-items:center;gap:8px;display:flex}
.zk-mode{color:#e9ecee;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#15191c;border:1px solid #2a2f33;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:8px 12px;font-family:inherit;font-size:13px;display:inline-flex}
.zk-mode:hover{border-color:var(--lime-dim)}
.zk-mode i{color:var(--lime);font-style:normal;font-size:16px}
.zk-state{letter-spacing:.08em;text-transform:uppercase;color:#6f777d;font-size:11.5px}
.zk-dev.on .zk-state{color:var(--lime)}
.zk-mid{grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;display:grid}
.zk-pm{color:#fff;cursor:pointer;background:0 0;border:2px solid #3a4046;border-radius:50%;width:48px;height:48px;font-family:inherit;font-size:24px;line-height:1}
.zk-pm:hover{border-color:var(--lime)}
.zk-pm:disabled{opacity:.3;cursor:default}
.zk-num{text-align:center;touch-action:none;-webkit-user-select:none;user-select:none;cursor:ns-resize;border-radius:14px;justify-items:center;padding:6px 0 8px;display:grid;position:relative}
.zk-num b{color:#6f777d;font-size:64px;font-weight:600;line-height:1;transition:color .2s}
.zk-num span{letter-spacing:.1em;color:#6f777d;font-size:13px}
.zk-dev.on .zk-num b{color:#fff}
.zk-dev.on .zk-num span{color:var(--lime)}
.zk-ring{border:2px solid var(--lime);opacity:0;pointer-events:none;border-radius:14px;position:absolute;top:0;bottom:0;left:0;right:0}
.zk-livebar{background:#1d2226;border-radius:3px;height:6px;overflow:hidden}
.zk-livebar i{background:var(--lime);width:0;height:100%;display:block}
.zk-row{color:#a3a7ab;grid-template-columns:1fr 1fr;gap:4px 12px;font-family:var(--body,inherit);font-size:12.5px;display:grid}
.zk-row b{color:#fff;font-weight:600}
.zk-tiles{flex-wrap:wrap;gap:6px;display:flex}
.zk-tiles button{color:#cfd2cd;cursor:pointer;background:#15191c;border:1px solid #2a2f33;border-radius:10px;min-height:40px;padding:8px 10px;font-family:inherit;font-size:12.5px}
.zk-tiles button b{color:#fff;font-weight:600}
.zk-tiles button.on{border-color:var(--lime-dim)}
.zk-tiles button.on b{color:var(--lime)}
.zk-load{background:var(--lime);color:#0a0a0a;cursor:pointer;border:1px solid var(--lime);border-radius:999px;min-height:44px;padding:11px;font-family:inherit;font-size:14px;font-weight:600}
.zk-dev.on .zk-load{color:#e9ecee;background:#15191c;border-color:#3a4046}
.zk-chart{width:100%;margin-top:4px;display:block}
@media (hover:none){.zy-kn span{display:none}}
@media (max-width:640px){.zy-kn{width:36px;height:36px}.zy-kn i{top:5px;bottom:5px;left:5px;right:5px}}
/* v18: three beats on every tool panel */
.zb-beats{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}
.zb-beats li{border-left:2px solid var(--lime);background:#e8fc810a;border-radius:0 10px 10px 0;padding:9px 12px 10px}
.zb-beats b{font-family:var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin-bottom:3px;font-size:12px;font-weight:600;display:block}
.zb-beats span{color:#e9ebe6;font-size:15px;line-height:1.5}
.zb-try{color:var(--lime);margin:0 0 12px;font-size:14px}
/* v19: calmer panels (no beat labels) and a calmer front page */
.zb-why{border-left:2px solid var(--lime);color:#f4f5f2;margin:0 0 12px;padding:1px 0 1px 12px;font-size:15px;font-weight:500;line-height:1.5}
.intro-specs{counter-reset:zc}
.intro-specs li{counter-increment:zc}
.intro-specs b:before{content:counter(zc);color:#0a0a0a;background:var(--lime);vertical-align:2px;border-radius:50%;place-items:center;width:20px;height:20px;margin-right:8px;font-size:12px;display:inline-grid}
@media (max-width:760px){
.intro-specs{flex-direction:column;gap:7px;margin-top:14px}
.intro-specs li{-webkit-backdrop-filter:none;backdrop-filter:none;text-shadow:0 1px 10px #000;background:0 0;border:0;border-radius:0;flex:none;min-width:0;max-width:none;padding:0;display:block}
.intro-specs b{font-size:15px;display:inline}
.intro-specs span{color:#e1e3df;margin-left:7px;font-size:13px;display:inline}
.intro{background:linear-gradient(#0000 16%,#000000ad 40%,#000000e6)}
.intro .l2:before{display:none}
.intro-tour{display:none}
.intro .l2{margin-top:10px;font-size:17px}
.intro-cta{gap:8px;margin-top:18px}
.intro-fine{margin-top:12px;font-size:12px}
.hint span:nth-child(n+3){display:none}
.panel{height:46vh;max-height:46vh;transition:height .3s,max-height .3s}
.panel.zc-tall{height:86vh;max-height:86vh}
.app.panel-open .toast{bottom:calc(46vh + 14px)}
.panel-foot{padding:10px 16px calc(10px + var(--safe-b))}
.panel-foot .cta-note{display:none}
.lede,.story,.zb-why{font-size:14.5px}
.grab{cursor:pointer;background:0 0;border:0;border-radius:0;width:100%;height:24px;margin:0;padding:0;display:block;position:relative}
.grab:before{content:"";background:#ffffff59;border-radius:3px;width:44px;height:4px;position:absolute;top:10px;left:50%;transform:translate(-50%)}
.panel.zc-tall .grab:before{background:var(--lime)}
}
/* v21: tour step text can have a paragraph break */
.story{white-space:pre-line}

/* v22: last step of a tour can be a booking link, with a way out below it */
.tour-nav a.btn-primary{flex:1;white-space:nowrap;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}
.zd-exit{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;width:100%;margin-top:6px;padding:6px 0;font-family:inherit;font-size:13px;text-decoration:underline;display:block}
.zd-exit:hover{color:var(--lime)}
/* Styles added in piece 9b/10. tour.css (the v28 stylesheet) stays unchanged; this file loads after it. */

/* Top bar tagline: v28 wrote the words into tour.css (.brand:after content). The words now come
   from booking.txt ([top bar: tagline]); App sets them on the link as --brand-tagline, and the
   same pseudo-element shows them, so the look is unchanged. */
.brand:after {
  content: var(--brand-tagline, none);
}

/* Booking buttons are <button>s in the booked version (they open "Get ready for your visit").
   Make them look exactly like the <a> they replace. */
button.is-get-ready {
  border: 0;
  margin: 0;
  line-height: inherit;
  text-align: center;
}
button.btn-primary.is-get-ready {
  border: 1px solid #0000;
}
.tour-nav button.btn-primary.is-get-ready {
  flex: 1;
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

/* ===== Get ready for your visit (same look as the basics page) ===== */
.get-ready-back {
  z-index: 65; /* above the basics page, which can open it */
}
.get-ready {
  width: min(560px, 100%);
  animation: 0.35s cubic-bezier(0.2, 0.9, 0.3, 1) getReadyIn;
}
.get-ready .panel-head {
  padding-bottom: 0;
}
.get-ready h2 {
  margin-top: 0;
}
.get-ready h2:focus {
  outline: none;
}
.get-ready h2:focus-visible {
  outline: 2px solid var(--lime);
  outline-offset: 3px;
}
.get-ready-part h3 {
  margin-top: 22px;
}
.get-ready-part .steps {
  padding-left: 22px;
}
.get-ready-part .steps li {
  color: #e3e5e0;
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 6px;
}
.get-ready-number {
  margin: 4px 0 6px;
}
.get-ready .phone {
  font-family: var(--head);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #fff;
}
@keyframes getReadyIn {
  0% {
    opacity: 0;
    transform: translateY(16px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@media (max-width: 760px) {
  .get-ready {
    max-height: calc(100vh - 32px);
  }
  .get-ready .phone {
    font-size: 18px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .get-ready,
  .get-ready-back {
    animation: none;
  }
}

/* Booked version at phone width: "Get ready for your visit." is longer than the booking version's
   "Free Discovery Call", and the top-bar button ran 29 px past the screen edge at 375 px (release test,
   13 Nov 2026). Tighten the button so the whole label fits. */
@media (max-width: 760px) {
  .topbar .top-cta.is-get-ready {
    padding: 10px 11px;
    font-size: 12px;
    letter-spacing: 0;
  }
}
@media (max-width: 350px) {
  .topbar .top-cta.is-get-ready {
    padding: 9px 9px;
    font-size: 11px;
  }
}

/* ===== Back Nine partner card (piece 16), in the style of the invitation card ===== */
.partner-back {
  z-index: 58; /* above panels, below the Get-ready section (65) */
}
.partner-card {
  position: relative;
  width: min(360px, 100%);
  padding: 20px 18px 18px;
  border-radius: var(--r);
  border: 1px solid var(--lime-dim);
  background: #0c0d0fe8;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  box-shadow: 0 20px 60px #00000080, 0 0 40px #e8fc8114;
  text-align: center;
  animation: 0.35s cubic-bezier(0.2, 0.9, 0.3, 1) getReadyIn;
}
.partner-card .close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
}
/* Back Nine's logo on a white tile, the ground their own site shows it on */
.partner-logo {
  display: block;
  box-sizing: border-box;
  width: min(270px, 84%);
  height: auto;
  margin: 8px auto 14px;
  padding: 16px 14px;
  background: #fff;
  border-radius: 10px;
}
.partner-card h3 {
  font-family: var(--head);
  font-size: 19px;
  line-height: 1.25;
  margin: 0 0 16px;
}
/* The booking button keeps its look; the owner's words may wrap on a narrow phone. */
.partner-card .partner-cta {
  white-space: normal;
}

/* ===== Get ready: the partner part ===== */
.get-ready-partner-row {
  display: flex;
  align-items: center;
  gap: 14px;
}
.get-ready-partner-logo {
  flex: none;
  box-sizing: border-box;
  width: 132px;
  height: auto;
  padding: 9px 8px;
  background: #fff;
  border-radius: 6px;
}
.get-ready-partner-row p {
  margin: 0;
}
@media (prefers-reduced-motion: reduce) {
  .partner-card {
    animation: none;
  }
}
/* Styles added in piece 10b. tour.css (the v28 stylesheet) stays unchanged; ui/App.js imports this
   file, so it loads after tour.css and get-ready.css. */

/* Guided-tour list opened by a tour deep link: the linked tour is first and marked with the list's
   own highlight (the same look as .tour-card:hover / :focus-visible in tour.css). */
.tour-list .tour-card.linked {
  border-color: var(--lime-dim);
  background: #e8fc810f;
  transform: translate(2px);
}

/* "Back to your tour": a bottom-bar chip next to "Guided tours", shown after a visitor leaves a
   guided tour before its last step. Same chip as the room and tool chips, with the lime accent of
   the "Guided tours" button so it is easy to spot. */
.dock-main {
  align-items: center;
}
.dock-main .chip-nav.tour-back {
  border-color: var(--lime-dim);
  color: var(--lime);
  font-weight: 600;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  display: inline-flex;
  animation: 0.25s tagIn;
}
.dock-main .chip-nav.tour-back:hover {
  border-color: var(--lime);
}
@media (hover: none), (pointer: coarse) {
  .dock-main .chip-nav.tour-back {
    min-height: 44px;
  }
}
/* Phones: the three buttons do not fit on one 375 px line, so the row may wrap. */
@media (max-width: 760px) {
  .dock-main {
    flex-wrap: wrap;
    max-width: 100%;
  }
  /* The wrapped row makes the bar one row (44 px + 8 px gap) taller, so the invitation card,
     which v28 sits just above the bar at 118 px, moves up by the same amount. */
  .app:has(.dock-main .tour-back) .invite {
    bottom: calc(170px + var(--safe-b));
  }
}
