/* The original VTS phone/card geometry, adapted to Sylvie's warm glass palette. */
.artwork.assistant-visual{--assistant-scale:.44;background:linear-gradient(0deg,#f6f4f1,transparent 20%),radial-gradient(ellipse at 65% 46%,#f9ede1b3,transparent 54%),linear-gradient(110deg,#f7f1e9,#f0e6dc 38%,#ded0c2 72%,#d5c7b9)}
.assistant-visual .assistant-scene{position:absolute;right:4.8%;top:52%;width:1122px;height:1402px;transform:translateY(-50%) scale(var(--assistant-scale));transform-origin:right center;color:#292b2e;font-family:"DM Sans",sans-serif;font-weight:400}
.assistant-visual .assistant-device{position:absolute;inset:0;animation:assistant-float 6s ease-in-out infinite;filter:drop-shadow(10px 22px 20px #4d3c2419)}
.assistant-visual .assistant-phone,.assistant-visual .assistant-hardware{position:absolute;inset:0;width:1122px;height:1402px;max-width:none}
.assistant-visual .assistant-screen{position:absolute;left:151px;top:117px;width:561px;height:1190px;transform:skewY(-2.5deg);transform-origin:top left}
.assistant-visual .assistant-status{position:absolute;left:47px;right:40px;top:24px;height:44px;display:flex;align-items:center;justify-content:space-between;font-size:31px;line-height:44px;font-weight:600;direction:ltr}
.assistant-visual .assistant-status-icons{display:block;width:110px;height:32px}
.assistant-visual .assistant-status-icons img{width:110px;height:32px}
.assistant-visual .assistant-contact{position:absolute;left:0;right:0;top:100px;height:166px;display:flex;flex-direction:column;align-items:center;gap:4px;border-bottom:1px solid #b7b5aa66}
.assistant-visual .assistant-avatar{display:grid;place-items:center;width:91px;height:91px;background:linear-gradient(135deg,#e7e6dbbb,#ced2c2a6);border:2px solid #fff9;border-radius:50%;font-family:"LT Museum",Georgia,serif;font-size:72px;line-height:1;color:#292b2e}
.assistant-visual .assistant-contact-name{font-size:30px;line-height:40px;font-weight:500;direction:ltr}
.assistant-visual .assistant-contact-name>span{color:#858c7c;padding-left:2px}
.assistant-visual .assistant-contact-back{position:absolute;left:6px;top:24px;font:300 82px/90px "DM Sans",sans-serif;color:#777c69}
.assistant-visual .assistant-contact-video{position:absolute;right:14px;top:36px;width:48px;height:48px;color:#777c69}
.assistant-visual .assistant-conversation{position:absolute;left:15px;right:15px;top:293px;display:flex;flex-direction:column;align-items:flex-end;gap:0}
.assistant-visual .assistant-conversation-label{align-self:center;margin:0 0 29px;color:#8b8a80;font-size:25px;line-height:34px;text-align:center}
.assistant-visual .assistant-request-bubble,.assistant-visual .assistant-reply-bubble{position:relative;flex-shrink:0;max-width:435px;min-height:84px;display:flex;align-items:center;border-radius:34px;text-align:start;font-size:34px;line-height:44px;padding:18px 26px;box-shadow:inset 0 1px 0 #fff7;transition:opacity .25s ease,transform .35s cubic-bezier(.2,.8,.2,1)}
.assistant-visual .assistant-request-bubble{background:#e6dcd0;align-self:flex-end;transform-origin:bottom right}
.assistant-visual .assistant-reply-bubble{background:#e5eade;align-self:flex-start;max-width:358px;transform-origin:bottom left}
.assistant-visual .assistant-request-tail{position:absolute;inset-inline-end:-8px;bottom:0;width:28px;height:28px;max-width:none}
.assistant-visual .assistant-reply-tail{position:absolute;inset-inline-start:-8px;bottom:0;width:28px;height:28px;max-width:none}
[dir="rtl"] .assistant-visual .assistant-conversation{right:187px}
[dir="rtl"] .assistant-visual .assistant-request-tail,[dir="rtl"] .assistant-visual .assistant-reply-tail{transform:scaleX(-1)}
.assistant-visual .assistant-request,.assistant-visual .assistant-reply{position:relative;z-index:1;display:block;max-width:100%;overflow-wrap:break-word}
.assistant-visual .assistant-delivered{font-size:23px;line-height:31px;color:#8b8a80;margin:8px 9px 25px}
.assistant-visual .assistant-conversation[data-phase="changing"] .assistant-request-bubble,.assistant-visual .assistant-conversation[data-phase="changing"] .assistant-reply-bubble,.assistant-visual .assistant-conversation[data-phase="changing"] .assistant-delivered{opacity:0;transform:translateY(12px)}
.assistant-visual .assistant-conversation[data-phase="typing"] .assistant-reply-bubble{visibility:hidden;opacity:0;transform:translateY(10px)}
.assistant-visual .assistant-typing{position:absolute;inset-inline-start:0;bottom:0;width:132px;height:78px;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:38px;background:#e5eade;opacity:0;visibility:hidden}
.assistant-visual .assistant-conversation[data-phase="typing"] .assistant-typing{opacity:1;visibility:visible}
.assistant-visual .assistant-typing span{width:14px;height:14px;border-radius:50%;background:#8e9b7e;animation:assistant-dot 1.05s ease-in-out infinite}
.assistant-visual .assistant-typing span:nth-child(2){animation-delay:.14s}.assistant-visual .assistant-typing span:nth-child(3){animation-delay:.28s}
.assistant-visual .assistant-composer{position:absolute;left:0;right:177px;bottom:39px;height:78px;display:flex;align-items:center;gap:12px;font-size:26px;line-height:36px;color:#8b8a80;transform:skewY(4deg)}
.assistant-visual .assistant-add{width:56px;height:56px;display:grid;place-items:center;flex-shrink:0;border:1px solid #d3d2c5;background:#dce1d280;border-radius:50%}
.assistant-visual .assistant-add img{width:31px;height:31px}
.assistant-visual .assistant-compose-field{flex:1;min-width:0;height:65px;padding:0 17px;border:1px solid #bfc3b499;border-radius:999px;display:flex;align-items:center;justify-content:space-between;gap:7px;white-space:nowrap}
.assistant-visual .assistant-compose-field svg{width:27px;height:32px;flex-shrink:0}
.assistant-visual .assistant-orbit{position:absolute;left:-85px;top:508px;width:1190px;height:390px;border:1px solid #a29c7545;border-radius:50%;transform:rotate(-22deg)}
.assistant-visual .assistant-orbit:after{content:"";position:absolute;inset:30px -20px;border:1px solid #a29c7526;border-radius:50%}
.assistant-visual .assistant-call-card{position:absolute;left:542px;top:756px;width:541px;height:515px;padding:46px 35px 31px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.assistant-visual .assistant-call-logo{font-family:"LT Museum",Georgia,serif;font-weight:500;font-size:64px;line-height:68px;letter-spacing:-3px;color:#292b2e}
.assistant-visual .assistant-call-caption{margin:0;font-size:31px;line-height:42px;white-space:nowrap;color:#777c69}
.assistant-visual .assistant-waveform-slot{width:438px;height:128px;flex-shrink:0;display:grid;place-items:center}
.assistant-visual .assistant-waveform{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:128px}
.assistant-visual .assistant-waveform>span{width:5px;height:calc(var(--bar-height) * 2);border-radius:4px;background:#85906f;animation:assistant-voice-bar var(--bar-speed) ease-in-out var(--bar-delay) infinite;transform-origin:center}
.assistant-visual .assistant-call-controls{display:flex;align-items:center;justify-content:center;gap:38px;width:420px;height:105px;flex-shrink:0}
.assistant-visual .assistant-call-control{display:grid;place-items:center;width:86px;height:86px;border:2px solid #a3aa95a6;border-radius:50%;background:linear-gradient(145deg,#fff8,#c7cebd55);box-shadow:inset 0 2px 3px #fff9,0 1px 2px #81785922}
.assistant-visual .assistant-call-control>span{display:grid;place-items:center}
.assistant-visual .assistant-call-control img{width:41px;height:41px}
.assistant-visual .assistant-call-end{position:relative;width:104px;height:104px;border:2px solid #b4bca3;background:radial-gradient(circle at 35% 20%,#a5af92,#778263);box-shadow:inset 0 2px 4px #fff7,0 3px 9px #69724f26}
.assistant-visual .assistant-call-end:after{content:"";position:absolute;inset:-3px;border:2px solid #899474;border-radius:50%;animation:assistant-call-ring 2.8s ease-out infinite}
@keyframes assistant-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes assistant-dot{0%,65%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-6px);opacity:1}}
@keyframes assistant-voice-bar{0%,100%{transform:scaleY(.32)}22%{transform:scaleY(.78)}45%{transform:scaleY(.48)}66%{transform:scaleY(1)}83%{transform:scaleY(.6)}}
@keyframes assistant-call-ring{0%{transform:scale(1);opacity:.45}80%,100%{transform:scale(1.4);opacity:0}}
.assistant-visual[data-paused] *,.assistant-visual[data-paused] *:after,.assistant-visual .assistant-waveform[data-paused]>span{animation-play-state:paused!important}
@media(max-width:900px){
 .landing.stage-phone:has(.assistant-visual){height:auto;min-height:100svh;overflow:clip}
 .landing.stage-phone:has(.assistant-visual) .hero{grid-template-rows:max-content auto max-content;flex:1 0 auto}
 .artwork.assistant-visual{--assistant-scale:.3;height:clamp(395px,115vw,510px);margin-top:8px;background:linear-gradient(0deg,#f6f4f1,transparent 24%,transparent 80%,#f6f4f1),radial-gradient(ellipse at 62% 50%,#d7c2ad,#eee3d8 80%)}
 .artwork.assistant-visual:before,.artwork.assistant-visual:after{height:12px}
 .assistant-visual .assistant-scene{left:50%;right:auto;top:50%;transform:translate(-50%,-50%) scale(var(--assistant-scale));transform-origin:center}
}
@media(prefers-reduced-motion:reduce){.assistant-visual *,.assistant-visual *:after{animation:none!important;transition:none!important}}

/* Individual bars stay in the external stylesheet under the strict CSP. */
.assistant-visual .assistant-waveform>span:nth-child(1){--bar-height:8px;--bar-delay:-0.00s;--bar-speed:0.85s}
.assistant-visual .assistant-waveform>span:nth-child(2){--bar-height:14px;--bar-delay:-0.17s;--bar-speed:1.04s}
.assistant-visual .assistant-waveform>span:nth-child(3){--bar-height:24px;--bar-delay:-0.34s;--bar-speed:1.23s}
.assistant-visual .assistant-waveform>span:nth-child(4){--bar-height:35px;--bar-delay:-0.51s;--bar-speed:1.42s}
.assistant-visual .assistant-waveform>span:nth-child(5){--bar-height:22px;--bar-delay:-0.68s;--bar-speed:1.61s}
.assistant-visual .assistant-waveform>span:nth-child(6){--bar-height:42px;--bar-delay:-0.85s;--bar-speed:0.85s}
.assistant-visual .assistant-waveform>span:nth-child(7){--bar-height:29px;--bar-delay:-1.02s;--bar-speed:1.04s}
.assistant-visual .assistant-waveform>span:nth-child(8){--bar-height:50px;--bar-delay:-0.00s;--bar-speed:1.23s}
.assistant-visual .assistant-waveform>span:nth-child(9){--bar-height:34px;--bar-delay:-0.17s;--bar-speed:1.42s}
.assistant-visual .assistant-waveform>span:nth-child(10){--bar-height:20px;--bar-delay:-0.34s;--bar-speed:1.61s}
.assistant-visual .assistant-waveform>span:nth-child(11){--bar-height:12px;--bar-delay:-0.51s;--bar-speed:0.85s}
.assistant-visual .assistant-waveform>span:nth-child(12){--bar-height:26px;--bar-delay:-0.68s;--bar-speed:1.04s}
.assistant-visual .assistant-waveform>span:nth-child(13){--bar-height:42px;--bar-delay:-0.85s;--bar-speed:1.23s}
.assistant-visual .assistant-waveform>span:nth-child(14){--bar-height:54px;--bar-delay:-1.02s;--bar-speed:1.42s}
.assistant-visual .assistant-waveform>span:nth-child(15){--bar-height:38px;--bar-delay:-0.00s;--bar-speed:1.61s}
.assistant-visual .assistant-waveform>span:nth-child(16){--bar-height:23px;--bar-delay:-0.17s;--bar-speed:0.85s}
.assistant-visual .assistant-waveform>span:nth-child(17){--bar-height:16px;--bar-delay:-0.34s;--bar-speed:1.04s}
.assistant-visual .assistant-waveform>span:nth-child(18){--bar-height:9px;--bar-delay:-0.51s;--bar-speed:1.23s}
.assistant-visual .assistant-waveform>span:nth-child(19){--bar-height:21px;--bar-delay:-0.68s;--bar-speed:1.42s}
.assistant-visual .assistant-waveform>span:nth-child(20){--bar-height:34px;--bar-delay:-0.85s;--bar-speed:1.61s}
.assistant-visual .assistant-waveform>span:nth-child(21){--bar-height:46px;--bar-delay:-1.02s;--bar-speed:0.85s}
.assistant-visual .assistant-waveform>span:nth-child(22){--bar-height:31px;--bar-delay:-0.00s;--bar-speed:1.04s}
.assistant-visual .assistant-waveform>span:nth-child(23){--bar-height:52px;--bar-delay:-0.17s;--bar-speed:1.23s}
.assistant-visual .assistant-waveform>span:nth-child(24){--bar-height:40px;--bar-delay:-0.34s;--bar-speed:1.42s}
.assistant-visual .assistant-waveform>span:nth-child(25){--bar-height:24px;--bar-delay:-0.51s;--bar-speed:1.61s}
.assistant-visual .assistant-waveform>span:nth-child(26){--bar-height:15px;--bar-delay:-0.68s;--bar-speed:0.85s}
.assistant-visual .assistant-waveform>span:nth-child(27){--bar-height:26px;--bar-delay:-0.85s;--bar-speed:1.04s}
.assistant-visual .assistant-waveform>span:nth-child(28){--bar-height:35px;--bar-delay:-1.02s;--bar-speed:1.23s}
.assistant-visual .assistant-waveform>span:nth-child(29){--bar-height:19px;--bar-delay:-0.00s;--bar-speed:1.42s}
.assistant-visual .assistant-waveform>span:nth-child(30){--bar-height:10px;--bar-delay:-0.17s;--bar-speed:1.61s}
.assistant-visual .assistant-waveform>span:nth-child(31){--bar-height:17px;--bar-delay:-0.34s;--bar-speed:0.85s}
.assistant-visual .assistant-waveform>span:nth-child(32){--bar-height:7px;--bar-delay:-0.51s;--bar-speed:1.04s}
