/* Shared demo refinements. */
.demo-chat-card { grid-column: 1 / -1; width: 100%; }
.chat-message { white-space: pre-wrap; overflow-wrap: anywhere; }
.chat-message strong { color: #fff; font-weight: 800; }

/* Responsive navigation and small-screen layout refinements. */
@media (min-width: 769px) and (max-width: 1100px) {
  .brand { width: 175px; }
  .brand img { width: 175px; height: 175px; }
  .desktop-nav { gap: 18px; }
  .desktop-nav a { font-size: 13px; }
  .nav-cta { padding: 9px 13px; }
}

@media (max-width: 768px) {
  .nav-wrap { position: relative; }
  .nav-wrap { height: 48px; }
  .brand { width: 112px; height: 34px; max-width: 52%; }
  .brand img { width: 112px; height: 112px; }
  .desktop-nav { display: none; }
  .menu-toggle {
    display: flex !important;
    position: relative !important;
    width: auto !important;
    height: 36px;
    margin-left: auto;
    padding: 0 10px !important;
    align-items: center;
    flex-direction: row !important;
    gap: 8px !important;
    color: #fff;
    border: 1px solid rgba(66,195,255,.3) !important;
    border-radius: 12px !important;
    background: rgba(7,152,231,.1) !important;
    font: 700 13px Inter,sans-serif;
  }
  .menu-toggle:hover,.menu-toggle:focus-visible { background: rgba(7,152,231,.18) !important; outline: none; }
  .menu-toggle-label { width: auto !important; height: auto !important; background: none !important; }
  .menu-toggle-icon { display: flex; width: 18px !important; height: auto !important; flex-direction: column; gap: 4px; background: none !important; }
  .menu-toggle-icon i { display: block; width: 18px; height: 2px; border-radius: 2px; background: #fff; transition: transform .25s,opacity .2s; }
  .menu-toggle.open .menu-toggle-icon i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .menu-toggle.open .menu-toggle-icon i:nth-child(2) { opacity: 0; }
  .menu-toggle.open .menu-toggle-icon i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .mobile-menu {
    display: grid !important;
    position: absolute;
    z-index: 200;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
    left: max(20px,calc((100% - var(--container))/2)) !important;
    right: max(20px,calc((100% - var(--container))/2)) !important;
    top: calc(100% + 6px) !important;
    padding: 14px !important;
    background: rgba(7,16,25,.98) !important;
    border: 1px solid rgba(66,195,255,.2) !important;
    border-radius: 18px !important;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
    transition: opacity .2s,transform .2s,visibility .2s;
  }
  .mobile-menu.open { visibility: visible; opacity: 1; transform: none; pointer-events: auto; }
  .mobile-menu-title { grid-column: 1/-1; padding: 2px 4px 6px; color: #7f92a3; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
  .mobile-menu a { display: flex; align-items: center; min-height: 48px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.025); }
  .mobile-menu a:hover,.mobile-menu a:focus-visible { border-color: rgba(66,195,255,.35); background: rgba(7,152,231,.1); outline: none; }
  .hero-grid,.industry-layout,.contact-grid,.on-demand-card,.demo-grid { grid-template-columns: 1fr; }
  .hero.section { min-height: 0; padding: 28px 0 64px; align-items: flex-start; }
  .hero-grid { gap: 0; }
  .hero-copy { max-width: 760px; }
  .hero-visual { display: none; }
  .service-grid,.process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .solution-layout { grid-template-columns: 1fr; }
  .trust-grid { grid-template-columns: repeat(2,1fr); }
  .trust-grid > div:nth-child(2) { border-right: 0; }
  .trust-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .demo-chat-window { max-height: 250px; }
  .demo-chat-input,.demo-card-body { padding: 16px; }
  .demo-card-header { font-size: 13px; }
  .demo-card-body pre { margin: 0 0 12px; padding: 12px; font-size: 12px; }
  .demo-note { padding: 0 16px 16px; font-size: 12px; }
}

@media (max-width: 640px) {
  .section { padding: 72px 0; }
  .mobile-menu { left: 14px !important; right: 14px !important; grid-template-columns: 1fr; max-height: calc(100vh - 90px); overflow-y: auto; }
  .hero.section { padding-top: 24px; }
  h1 { font-size: clamp(36px,11vw,43px); }
  .hero-text { font-size: 16px; }
  .hero-actions,.demo-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .btn,.demo-actions .btn { width: 100%; }
  .hero-points { display: grid; gap: 9px; }
  .trust-grid,.service-grid,.process-grid,.industry-grid,.engagement-list,.form-row,.footer-grid { grid-template-columns: 1fr; }
  .trust-grid > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-grid > div:last-child { border-bottom: 0; }
  .service-card { padding: 24px; }
  .solution-tabs { flex-direction: row; overflow-x: auto; scroll-snap-type: x mandatory; }
  .solution-tab { min-width: max-content; padding: 14px 16px; scroll-snap-align: start; }
  .on-demand-card { padding: 26px; }
  .contact-form { padding: 20px; }
  .solution-panel { min-height: 0; padding: 24px; }
  .solution-panel h3 { font-size: 30px; }
  .footer-grid { gap: 24px; }
  .footer-bottom { flex-direction: column; gap: 8px; }
  .section-heading { margin-bottom: 38px; }
  .section-heading h2,.on-demand h2,.contact-copy h2 { font-size: 34px; }
}
