/* Normal portrait first; only a mouse spotlight reveals the aligned hologram. */
.practice-page .assistant-portrait.sonya-avatar{overflow:hidden}
.practice-page .sonya-avatar .sonya-avatar-stage{
  --avatar-x:50%;--avatar-y:29%;--avatar-radius:92px;
  position:relative;isolation:isolate;height:270px;width:100%;margin:-5px auto 0;
  overflow:hidden;filter:none;
  -webkit-mask-image:linear-gradient(#000 0 84%,transparent 100%);
  mask-image:linear-gradient(#000 0 84%,transparent 100%);
}
.sonya-avatar-stage::before{
  content:"";position:absolute;inset:1% 4% 0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 42%,rgba(98,198,222,.2),rgba(98,198,222,.035) 53%,transparent 72%);
}
.sonya-avatar-stage .sonya-avatar-image{
  position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;
  object-position:50% 0;pointer-events:none;user-select:none;
}
.sonya-avatar-stage .sonya-avatar-natural{z-index:0;opacity:1}
.sonya-avatar-stage .sonya-avatar-reveal{
  position:absolute;inset:0;z-index:2;opacity:0;pointer-events:none;transition:opacity .22s ease;
  -webkit-mask-image:radial-gradient(circle var(--avatar-radius) at var(--avatar-x) var(--avatar-y),#000 0 42%,rgba(0,0,0,.88) 58%,transparent 100%);
  mask-image:radial-gradient(circle var(--avatar-radius) at var(--avatar-x) var(--avatar-y),#000 0 42%,rgba(0,0,0,.88) 58%,transparent 100%);
}
.sonya-avatar-stage .sonya-avatar-hologram{
  filter:grayscale(1) sepia(1) saturate(2.2) hue-rotate(140deg) brightness(.93) contrast(1.08) drop-shadow(0 0 8px rgba(98,198,222,.24));
}
.sonya-avatar-reveal::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.3;
  background:repeating-linear-gradient(to bottom,transparent 0 2px,rgba(98,198,222,.25) 2px 3px);
}
/* Head and shoulders: both image layers share the same crop. */
.sonya-avatar-physio .sonya-avatar-stage .sonya-avatar-image{
  inset:0 auto auto 50%;height:200%;width:auto;max-width:none;transform:translateX(-67.5%);
}
.practice-page .sonya-avatar .voice-wave{margin-top:-1px;margin-bottom:13px}
@media(any-hover:hover) and (any-pointer:fine){
  .sonya-avatar.sonya-avatar-ready.is-avatar-revealing .sonya-avatar-reveal{opacity:1}
}
@media(max-width:900px) and (min-width:701px){
  .practice-page .sonya-avatar .sonya-avatar-stage{height:245px;--avatar-radius:80px}
}
@media(max-width:700px){
  .practice-page .assistant-portrait.sonya-avatar{grid-template-columns:132px minmax(0,1fr);gap:0 17px}
  .practice-page .sonya-avatar .sonya-avatar-stage{height:157px;grid-row:1/3;margin:-1px auto 0;--avatar-radius:53px;--avatar-y:30%}
  .practice-page .sonya-avatar .voice-wave{margin:10px 0 0}
}
@media(max-width:380px){
  .practice-page .assistant-portrait.sonya-avatar{grid-template-columns:108px minmax(0,1fr);gap:0 12px}
  .practice-page .sonya-avatar .sonya-avatar-stage{height:140px;--avatar-radius:46px}
}
@media(prefers-reduced-motion:reduce){
  .sonya-avatar-stage .sonya-avatar-reveal{transition:none}
  .practice-page .sonya-avatar .voice-wave span{transition:none}
}
@supports not ((mask-image:radial-gradient(circle,#000,transparent)) or (-webkit-mask-image:radial-gradient(circle,#000,transparent))){
  .sonya-avatar.sonya-avatar-ready.is-avatar-revealing .sonya-avatar-stage .sonya-avatar-reveal{display:none}
}
