* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: #fff;
  color: #14181F;
  font-family: 'Lato', sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a { color: inherit; }

/* Smooth in-page scrolling for anchor links (Solutions page) */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 96px; }

/* Scroll-reveal */
[data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
}
[data-reveal].qai-in { opacity: 1; transform: none; }

/* Hover styles driven by data-hover (converted from inline style-hover attrs) */
[data-hover] { transition: transform .18s, background .18s, box-shadow .18s, border-color .18s, color .18s; }

/* Contact form inputs */
.qai-input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-family: 'Lato', sans-serif;
  font-size: 15px;
  color: #14181F;
  background: #F9FAFC;
  border: 1px solid #E0E6EF;
  border-radius: 12px;
  padding: 14px 16px;
  outline: none;
  box-shadow: inset 0 1px 2px rgba(11,37,69,0.03);
  transition: border-color .18s, box-shadow .18s, background .18s;
}
.qai-input:hover { border-color: #C7D2E2; }
.qai-input:focus { background: #fff; border-color: #0E9488; box-shadow: 0 0 0 3px rgba(14,148,136,0.14); }
.qai-input::placeholder { color: #9AA6B5; }

/* Keyframe animations */
@keyframes qaiPulse { 0% { transform: scale(1); opacity: .5; } 70% { transform: scale(2.4); opacity: 0; } 100% { opacity: 0; } }
@keyframes qaiFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes qaiRobotFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }
@keyframes qaiNetworkPulse { 0% { opacity: .4; } 50% { opacity: .65; } 100% { opacity: .4; } }
@keyframes qaiNodePulse { 0% { r: 3px; opacity: .75; } 50% { r: 4px; opacity: 1; } 100% { r: 3px; opacity: .75; } }
@keyframes qaiShimmer { 0% { transform: translateX(-100%); } 60% { transform: translateX(100%); } 100% { transform: translateX(100%); } }
@keyframes qaiHubPulse { 0% { r: 13px; opacity: .95; } 50% { r: 16px; opacity: 1; } 100% { r: 13px; opacity: .95; } }
@keyframes qaiHubRing { 0% { r: 13px; opacity: .5; } 100% { r: 46px; opacity: 0; } }
@keyframes qaiAgentPulse { 0% { opacity: .55; } 50% { opacity: 1; } 100% { opacity: .55; } }
@keyframes qaiLabelFade { 0% { opacity: 0; } 50% { opacity: .5; } 100% { opacity: 0; } }
@keyframes qaiTwinkle { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
@keyframes qaiCrawl {
  0%   { transform: translateX(-50%) translateY(-150px) rotateX(35deg) scale(0.3); opacity: 0; }
  5%   { opacity: .32; }
  13%  { opacity: .32; }
  20%  { transform: translateX(-50%) translateY(10px) rotateX(35deg) scale(1.7); opacity: 0; }
  100% { transform: translateX(-50%) translateY(10px) rotateX(35deg) scale(1.7); opacity: 0; }
}

/* Responsive */
@media (max-width: 900px) {
  .qai-hero { grid-template-columns: 1fr !important; gap: 44px !important; }
  .qai-hero h1 { font-size: 40px !important; }
  .qai-hero p { max-width: none !important; }
}

@media (max-width: 760px) {
  section { padding-left: 20px !important; padding-right: 20px !important; padding-top: 56px !important; padding-bottom: 56px !important; }
  footer { padding-left: 20px !important; padding-right: 20px !important; padding-top: 52px !important; }
  header nav { padding-left: 18px !important; padding-right: 18px !important; height: 64px !important; }
  .qai-hero h1 { font-size: 33px !important; }
  .qai-leader-meta { align-items: center !important; text-align: center; }
  .qai-leader-meta > div[style*="flex-wrap:wrap"] { justify-content: center; }
}

@media (max-width: 1100px) {
  header nav { padding-left: 18px; padding-right: 18px; }
}

/* Mission Experience hero: Star Wars-style crawl is desktop/tablet only — plain network on phones */
@media (max-width: 760px) {
  #qai-mission-crawl { display: none; }
}
