/* Contact paths, company information and responsive chat. */
html { scroll-padding-top: 80px; }
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 2px solid #d4aaff;
  outline-offset: 4px;
}
.back-link { min-height: 44px; max-width: calc(100% - 32px); }
.about-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.about-grid article { min-width: 0; padding: 24px; border: 1px solid #3d304d; border-radius: 16px; background: #100b18; }
.about-grid h3 { margin-bottom: 16px; font-size: 22px; }
.about-grid p { color: #c8c0d2; line-height: 1.7; }
.about-grid a { display: block; padding: 12px 0; color: #d4aaff; overflow-wrap: anywhere; }
.stats-inner > * { min-width: 0; }
.chat-widget .chat-toggle { overflow: visible; }
.chat-toggle img { pointer-events: none; }
.chat-toggle-label { position: absolute; right: 78px; white-space: nowrap; padding: 10px 14px; border: 1px solid #66517d; border-radius: 24px; background: #160f21; color: #fff; font: 14px 'Play', sans-serif; }
.chat-toggle[aria-expanded="true"] .chat-toggle-label { display: none; }
.chat-widget .chat-window[hidden] { display: none; }
.chat-widget .chat-window { width: min(350px, calc(100vw - 32px)); max-height: calc(100dvh - 140px); }
.chat-window > * { min-width: 0; }
.chat-window .chat-header, .chat-window .chat-input-area, .chat-window .chat-quick-actions { flex-shrink: 0; }
.chat-window .chat-body { min-height: 0; overscroll-behavior: contain; }
.chat-window .message { overflow-wrap: anywhere; }
.chat-window .chat-quick-actions { flex-wrap: wrap; overflow: visible; gap: 8px; padding: 10px 12px; }
.chat-window .quick-btn { white-space: normal; text-align: left; max-width: 100%; min-height: 44px; }
.chat-window.compact .chat-quick-actions { display: none; }
.chat-window #chat-input { min-width: 0; width: 0; font-size: 16px; }
.chat-window #chat-send, .chat-window #chat-close { flex: 0 0 44px; width: 44px; height: 44px; }
.chat-window #chat-send:disabled { opacity: .5; cursor: wait; }
@media (max-width: 768px) {
  .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats-inner .stat-badge-item { grid-column: 1 / -1; justify-content: flex-start; text-align: left; }
  .about-grid { grid-template-columns: 1fr; }
  .chat-widget { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); }
  .chat-widget .chat-window {
    position: fixed;
    right: 16px;
    bottom: auto;
    top: calc(var(--chat-viewport-top, 0px) + max(12px, calc(var(--chat-viewport-height, 100dvh) - 600px)));
    width: calc(100vw - 32px);
    height: min(500px, calc(var(--chat-viewport-height, 100dvh) - 24px));
    max-height: none;
  }
  .chat-window .chat-header { padding: 10px 12px; }
  .chat-window .chat-body { padding: 12px; }
  .chat-window .chat-input-area { padding: 12px; }
  .chat-toggle-label { right: 76px; }
}
@media (max-width: 600px) {
  .process-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 380px) {
  .brand-logo-b2b .b2b-innova { font-size: 20px; }
  .brand-logo-b2b .b2b-systems { font-size: 16px; letter-spacing: 2px; }
  .brand-logo-b2b .b2b-separator { margin: 0 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .chat-widget *, .chat-widget *::before, .chat-widget *::after { animation: none !important; transition: none !important; }
}
