/* ═══════════════════════════════════════════════════════
   01-base.css — AJG AI Solutions
   Reset, html/body, orbs, global keyframes
   ═══════════════════════════════════════════════════════ */

* { box-sizing: border-box; }

html, body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: 'Manrope', Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at top, rgba(30,80,208,.30), transparent 55%),
    radial-gradient(circle at 80% 18%, rgba(53,216,255,.16), transparent 18%),
    radial-gradient(circle at 50% 100%, rgba(30,80,208,.10), transparent 30%),
    var(--bg);
}

/* ── Ambient orbs ── */
.orb {
  position: fixed;
  z-index: 0;
  border-radius: 999px;
  filter: blur(70px);
  pointer-events: none;
}
.orb.one {
  left: -90px;
  top: 120px;
  width: 280px;
  height: 280px;
  background: rgba(53,216,255,.10);
  animation: floatA 10s ease-in-out infinite;
}
.orb.two {
  right: -30px;
  top: 40px;
  width: 320px;
  height: 320px;
  background: rgba(30,80,208,.18);
  animation: floatB 12s ease-in-out infinite;
}

/* ── Global keyframes ── */
@keyframes floatA {
  0%,100% { transform: translate(0,0); opacity: .55; }
  50% { transform: translate(22px,-18px); opacity: .8; }
}
@keyframes floatB {
  0%,100% { transform: translate(0,0); opacity: .52; }
  50% { transform: translate(-18px,18px); opacity: .76; }
}
@keyframes pulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50% { opacity: .7; transform: scale(.9); }
}
@keyframes badgeFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes shimmer-gradient {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes floatCard {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
