/* "Talk to our receptionist" card (public/assets/talk/talk.js), in the site's own colors. */
.talk{--v:0;color:var(--ink,#06182a);max-width:560px;margin:1.5rem auto 0;display:grid;justify-items:center;gap:1rem;text-align:center;padding:2rem 1.25rem;border-radius:24px;background:var(--card,#fff);border:1px solid var(--line,#d6e2e8);box-shadow:var(--shadow-lift,none)}
.talk-orb{position:relative;width:132px;height:132px;display:grid;place-items:center}
.talk-orb b{width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#67e8f9,var(--brand) 70%);box-shadow:0 12px 34px color-mix(in srgb,var(--brand) 40%,transparent);transform:scale(calc(1 + var(--v)*.18));transition:transform .08s linear}
.talk-orb i{position:absolute;inset:14px;border-radius:50%;border:2px solid color-mix(in srgb,var(--brand) 45%,transparent);opacity:0}
.talk[data-state=live] .talk-orb i,.talk[data-state=speaking] .talk-orb i{animation:talkring 2.4s ease-out infinite}
.talk-orb i+i{animation-delay:1.2s!important}
@keyframes talkring{0%{transform:scale(.8);opacity:.7}100%{transform:scale(1.35);opacity:0}}
.talk[data-state=connecting] .talk-orb b{animation:talkwait 1.1s ease-in-out infinite alternate}
@keyframes talkwait{to{opacity:.55;transform:scale(.94)}}
.talk-status{margin:0;font-weight:600;min-height:1.5em}
.talk[data-state=error] .talk-status{color:#b42318}
.talk-btns{display:flex;justify-content:center;margin:0}
.talk-log{list-style:none;width:100%;text-align:left;padding:0;margin:0;display:grid;gap:.6rem;max-height:300px;overflow-y:auto}
.talk-log li{padding:.75rem 1rem;border-radius:14px;background:var(--bg,#f6fafb);border:1px solid var(--line,#d6e2e8);font-size:.95rem}
.talk-log li b{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#5b7083);margin-bottom:.2rem}
.talk-log li.ai{border-left:4px solid var(--brand)}
.talk-note{margin:0;color:var(--muted,#5b7083)}
@media (prefers-reduced-motion:reduce){.talk-orb i,.talk-orb b{animation:none!important;transition:none}}
