/* Short, purposeful responses. Content stays visible without JavaScript. */
:root { --motion-ease: cubic-bezier(.2,.7,.2,1); }
html { scroll-behavior: smooth; }
.wow { visibility: visible !important; }
.site-nav::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: #0018fd; transform: scaleX(var(--page-progress, 0)); transform-origin: left; pointer-events: none; }
.site-nav .nav-link { position: relative; }
.site-nav .nav-link.active { text-decoration: none; }
.site-nav .nav-link::after { content: ''; position: absolute; left: 10px; right: 10px; bottom: 5px; height: 2px; border-radius: 2px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform 220ms var(--motion-ease); }
.site-nav .nav-link:hover::after, .site-nav .nav-link:focus-visible::after, .site-nav .nav-link.active::after { transform: scaleX(1); }
.banner-playback { position: absolute; right: 24px; bottom: 18px; z-index: 3; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #ffffff80; border-radius: 50%; background: #091e3e80; color: #fff; transition: background 180ms, transform 180ms; }
.banner-playback:hover, .banner-playback:focus-visible { background: #0018fd; }
.home-service, .service-item { background-image: radial-gradient(240px circle at var(--spot-x, -400px) var(--spot-y, -400px), #0018fd09, transparent 75%) !important; transition: transform 260ms var(--motion-ease), box-shadow 260ms var(--motion-ease), border-color 260ms; }
.home-service > i, .service-icon, .home-service a i, .service-item a i, .btn > i, .assistant-topic > svg, .assistant-choice { transition: transform 240ms var(--motion-ease), background 180ms, border-color 180ms, box-shadow 180ms; }
.home-service:focus-within, .service-item:focus-within { border-color: #91a0ff; box-shadow: 0 14px 30px #12244010; }
.home-service a:focus-visible i, .service-item a:focus-visible i, .btn:focus-visible > i { transform: translateX(4px); }
.btn:active, .banner-playback:active, .assistant-topic:active, .assistant-choice:active, .assistant-invite-action:active, .assistant-launcher:active { transform: scale(.97); }
.form-control, .assistant-body textarea { transition: border-color 180ms, box-shadow 180ms, background-color 180ms; }
.form-control:focus, .assistant-body textarea:focus { border-color: #6878ff !important; box-shadow: 0 0 0 4px #0018fd10; }
.assistant-step-track i { position: relative; overflow: hidden; background: #e5eaf5 !important; }
.assistant-step-track i::after { content: ''; position: absolute; inset: 0; background: #0018fd; transform: scaleX(0); transform-origin: left; transition: transform 300ms var(--motion-ease); }
.assistant-step-track i.is-complete::after { transform: scaleX(1); }
.assistant-panel { animation: chat-enter 280ms var(--motion-ease); }
.assistant-invite { animation: chat-enter 350ms var(--motion-ease); }
.assistant-topic:focus-visible { border-color: #0018fd; background: #f2f5ff; }
.assistant-topic:focus-visible > svg:last-child { transform: translateX(3px); }
.assistant-finished-icon { animation: confirmation-enter 380ms var(--motion-ease); }
@keyframes chat-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes confirmation-enter { from { opacity: 0; transform: scale(.8); } to { opacity: 1; transform: scale(1); } }
@keyframes character-hello { 0%, 100% { transform: rotate(0); } 35% { transform: rotate(-4deg); } 70% { transform: rotate(2deg); } }
@media (hover: hover) and (pointer: fine) {
    .home-service:hover, .service-item:hover { transform: translateY(-6px); border-color: #91a0ff; box-shadow: 0 16px 34px #12244012; }
    .home-service:hover > i, .service-item:hover .service-icon { transform: rotate(-6deg) translateY(-3px); background: #e3e9ff; }
    .home-service:hover a i, .service-item:hover a i, .btn:hover > i { transform: translateX(4px); }
    .assistant-topic:hover > svg:first-child { transform: rotate(-5deg); }
    .assistant-topic:hover > svg:last-child { transform: translateX(3px); }
    .assistant-choice:hover { transform: translateX(3px); }
    .assistant-launcher:hover .assistant-launcher-portrait img { transform-origin: center bottom; animation: character-hello 600ms var(--motion-ease); }
}

/* Automatic logo carousel with manual navigation. */
.client-logos.is-carousel { display: flex; align-items: center; gap: 12px; }
.clients-viewport { overflow-x: auto; scrollbar-width: none; padding: 16px 0; flex: 1; min-width: 0; }
.clients-viewport::-webkit-scrollbar { display: none; }
.clients-track { display: flex; gap: 24px; width: max-content; }
.client-logo { flex: 0 0 170px; width: 170px; padding: 22px 16px 14px; margin: 0; border: 0; background: transparent; text-align: center; }
.client-logo img { width: 100%; height: 64px; object-fit: contain; transition: transform 240ms var(--motion-ease); }
.client-logo figcaption { margin-top: 16px; font-size: 12px; color: #52617a; }
.client-logo:hover img { transform: scale(1.1); }
.clients-arrow { flex: 0 0 40px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #f0f3ff; color: #0018d6; }
.clients-arrow:hover { background: #e0e6ff; }
.clients-arrow:focus-visible { outline: 2px solid #0018fd; outline-offset: 3px; }

.assistant-toolbar-actions { display: flex; align-items: center; gap: 8px; }
.assistant-sound { width: 32px; height: 30px; color: #405477; }
.assistant-sound:hover { background: #e8edff; }
.assistant-launcher { position: relative; }
.assistant-notification { position: absolute; right: 4px; bottom: 84px; display: grid; place-items: center; width: 58px; height: 50px; border-radius: 18px 18px 4px 18px; border: 2px solid #fff; background: linear-gradient(140deg, #009ed5, #0018fd 80%); color: #fff; box-shadow: 0 8px 24px #0018fd35; animation: notification-pop 450ms var(--motion-ease); }
.assistant-unread, .assistant-launcher .assistant-unread { position: absolute; right: -5px; top: -7px; display: grid !important; place-items: center; width: 23px; height: 23px; border-radius: 50%; border: 2px solid #fff; color: #fff; background: #dc263e; font: 800 12px/1 'Nunito', sans-serif; box-shadow: 0 3px 8px #a6142630; }
.assistant-invite { max-height: calc(var(--assistant-viewport-height, 100dvh) - 116px); overflow-y: auto; }
@keyframes notification-pop { from { opacity: 0; transform: translateY(8px) scale(.75); } to { opacity: 1; transform: none; } }
@media (max-width: 575.98px) {
    .client-logo { flex-basis: 140px; width: 140px; padding-inline: 12px; }
    .clients-track { gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .client-logo:hover img, .client-logo:focus-visible img { transform: none !important; }
}
@media (max-width: 575.98px) { .banner-playback { right: 12px; bottom: 10px; width: 36px; height: 36px; } }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    .home-service:hover, .service-item:hover, .assistant-choice:hover, .btn:hover, .btn:active, .assistant-topic:active, .assistant-choice:active, .assistant-invite-action:active, .assistant-launcher:active, .assistant-launcher:hover, .banner-playback:active, .client-logos img:hover, .home-service:hover > i, .service-item:hover .service-icon, .home-service a i, .service-item a i, .btn > i, .assistant-topic > svg { transform: none !important; }
}
