/* Invitations belong to the object/control they demonstrate. No page-level layer. */
.guided-visit .play-hint{visibility:hidden}
.squeeze-invitation{position:absolute;z-index:4;transform:translate(-50%,-50%);opacity:0;transition:opacity .16s ease;pointer-events:none;user-select:none}
.squeeze-invitation.is-inviting{opacity:1}
.pressure-mark{position:absolute;inset:0;border:1px solid #fff9;border-radius:50%;background:radial-gradient(ellipse,#ffffff26,transparent 70%);box-shadow:inset 0 0 7px #fff4,0 0 8px #fff2;opacity:0}
.is-inviting .pressure-mark{animation:pressure-invitation 1.15s ease 1}
.squeeze-invitation small{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);white-space:nowrap;font-size:12px;line-height:1.5;letter-spacing:.03em;color:#fff8ee;text-shadow:0 1px 4px #59465d90;pointer-events:none}
@keyframes pressure-invitation{0%{opacity:0;transform:scale(1.10)}24%{opacity:.7;transform:scale(.86)}48%{opacity:.42;transform:scale(1.08)}72%{opacity:.15;transform:scale(1)}100%{opacity:0;transform:scale(1.06)}}
.feel-demo #feelAxisLabel{color:#a06f73;animation:invitation-ink 1.8s ease 1}
.feel-demo .feel-anchors button:before{animation:anchor-invitation .55s ease 1}
.feel-demo .feel-anchors button:nth-child(2):before{animation-delay:.22s}
.feel-demo .feel-anchors button:nth-child(3):before{animation-delay:.44s}
@keyframes anchor-invitation{0%,100%{transform:translate(-50%,-50%) scale(1);box-shadow:none}45%{transform:translate(-50%,-50%) scale(1.5);box-shadow:0 0 0 5px #c1948b20;background:#bc8685}}
@keyframes invitation-ink{0%,100%{opacity:.5}25%,75%{opacity:1}}
.entry-demo{animation:entry-invitation 1.3s ease 1}
@keyframes entry-invitation{0%,100%{transform:translateY(-50%)}40%{transform:translate(-4px,-50%)}67%{transform:translate(1px,-50%)}}
.tab-demo{animation:tab-invitation 1.3s ease 1}
@keyframes tab-invitation{40%{color:#a46e77;text-shadow:0 0 7px #bd969654}}
.drawer-demo .pull-loop{animation:drawer-invitation 1.2s ease 1}
.drawer-demo .handle-caption{font-size:12px;letter-spacing:.035em;color:#8d6f62;animation:invitation-ink 1.8s ease 1}
@keyframes drawer-invitation{0%,100%{transform:rotate(-2deg)}35%{transform:translateY(-4px) rotate(0deg)}60%{transform:translateY(1px) rotate(-2deg)}}
@media(max-width:1100px){
 .squeeze-invitation small{display:none}
 /* Existing 36px label row: short English wraps without pushing the slider. */
 #mobileAxisDock .feel-demo>label{height:36px;line-height:1.3;max-width:42%;white-space:normal;overflow-wrap:normal;align-items:center}
}
@media(prefers-reduced-motion:reduce){
 .squeeze-invitation{transition:none}.is-inviting .pressure-mark{animation:none;opacity:.45}
 .entry-demo,.tab-demo,.feel-demo .feel-anchors button:before,.feel-demo #feelAxisLabel,.drawer-demo .pull-loop,.drawer-demo .handle-caption{animation:none}
 .feel-demo #feelAxisLabel,.tab-demo{color:#a06f73}
}
