html.safe-chat-open{overscroll-behavior:none}.chatbot-messages{overscroll-behavior:contain;touch-action:pan-y;min-height:0;-webkit-overflow-scrolling:touch}
.chatbot-greeting .greeting-copy{display:block;border:0;background:transparent;color:inherit;font:inherit;line-height:inherit;cursor:pointer;padding:0 16px 0 0;text-align:left}
.chatbot-greeting .greeting-copy:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.chatbot-greeting.show{animation:safe-invitation .3s ease both}.chatbot-window.open{animation:safe-chat-enter .28s cubic-bezier(.2,.7,.25,1) both}
.safe-reveal{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.25,1)}.safe-reveal.reveal-wait{transform:translateY(24px)}
.context-panel:not([hidden]){animation:safe-panel-enter .32s ease both}
.action{transition:background .2s,color .2s,transform .2s,box-shadow .2s}.action:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.process li:nth-child(2){transition-delay:60ms}.process li:nth-child(3){transition-delay:120ms}
.hero-visual .photo-frame,.operation-photo{overflow:hidden}.hero-visual img,.operation-photo>img{transition:transform .75s cubic-bezier(.2,.7,.25,1)}
@media(hover:hover) and (pointer:fine){.action:hover{transform:translateY(-2px)}.hero-visual:hover img,.operation-photo:hover>img{transform:scale(1.025)}}
@keyframes safe-chat-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes safe-invitation{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes safe-panel-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.safe-reveal,.action,.hero-visual img,.operation-photo>img{transition:none!important}.safe-reveal.reveal-wait{opacity:1;transform:none}.context-panel,.chatbot-window.open,.chatbot-greeting.show{animation:none!important}.action:hover,.hero-visual:hover img,.operation-photo:hover>img{transform:none!important}}
