/* Xaflo — FLAIR v1.5: hero intact, everything else PURE DARK default */

/* ============================================================
   KILL all background blobs outside hero
   ============================================================ */
.xaflo-section::before,
.xaflo-section::after {
  background: none !important;
  animation: none !important;
  display: none !important;
}

/* Remove body-level orbs (decorative blobs) */
.xaflo-orbs { display: none !important; }

/* Remove floating data tokens drifting in background */
.xaflo-tokens { display: none !important; }

/* Remove cursor glow trail */
.xaflo-cursor-glow { display: none !important; }

/* Keep colored top borders as the ONLY tinted accent per section
   (they're 1px so look clean) */
.xaflo-section { border-top: 1px solid rgba(255,255,255,0.04); }
.xaflo-section.xaflo-providers { border-top-color: transparent; }
/* Subtle per-section coloured separator border */
.xaflo-section#what-we-do  { border-top-color: rgba(58,141,255,0.18); }
.xaflo-section#principles  { border-top-color: rgba(124,58,237,0.18); }
.xaflo-section#capabilities{ border-top-color: rgba(0,217,255,0.18); }
.xaflo-section#cases       { border-top-color: rgba(217,70,239,0.18); }
.xaflo-section#demo        { border-top-color: rgba(0,217,255,0.22); }
.xaflo-section#code        { border-top-color: rgba(58,141,255,0.18); }
.xaflo-section#process     { border-top-color: rgba(124,58,237,0.18); }
.xaflo-section#presence    { border-top-color: rgba(0,217,255,0.18); }
.xaflo-section#group       { border-top-color: rgba(217,70,239,0.18); }
.xaflo-section#products    { border-top-color: rgba(58,141,255,0.18); }
.xaflo-section.xaflo-stats-section { border-top-color: rgba(0,217,255,0.18); }
.xaflo-section#contact     { border-top-color: rgba(217,70,239,0.22); }

/* ============================================================
   BOOT INTRO SPLASH — kept (first-load identity moment)
   ============================================================ */
.xaflo-boot {
  position: fixed; inset: 0;
  z-index: 9999;
  background: #05070f;
  display: flex;
  align-items: center; justify-content: center;
  animation: xaflo-boot-out 0.6s ease forwards 0.55s;
  pointer-events: auto;
}
.xaflo-boot-content { text-align: center; font-family: var(--x-mono); }
.xaflo-boot-mark {
  font-family: var(--x-display);
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, #3a8dff, #7c3aed, #d946ef);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
  margin: 0;
  animation: xaflo-boot-in 0.35s cubic-bezier(.2,.7,.2,1) forwards;
  opacity: 0;
  transform: translateY(10px);
}
.xaflo-boot-line {
  margin-top: 0.6rem;
  font-size: 0.7rem;
  letter-spacing: 0.3em;
  color: var(--x-muted);
  text-transform: uppercase;
  opacity: 0;
  animation: xaflo-boot-in 0.35s cubic-bezier(.2,.7,.2,1) forwards 0.15s;
}
.xaflo-boot-line b { color: var(--x-cyan); margin-left: 0.4em; }
.xaflo-boot-bar {
  width: 200px; height: 1px;
  background: rgba(255,255,255,0.08);
  margin: 1.25rem auto 0;
  overflow: hidden;
  opacity: 0;
  animation: xaflo-boot-in 0.35s cubic-bezier(.2,.7,.2,1) forwards 0.25s;
}
.xaflo-boot-bar::after {
  content: ""; display: block; height: 100%;
  background: linear-gradient(90deg, var(--x-cyan), var(--x-violet), var(--x-magenta));
  width: 0%;
  animation: xaflo-boot-fill 0.55s ease 0.2s forwards;
}
@keyframes xaflo-boot-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes xaflo-boot-fill { from { width: 0%; } to { width: 100%; } }
@keyframes xaflo-boot-out { to { opacity: 0; transform: scale(1.02); visibility: hidden; } }
@media (prefers-reduced-motion: reduce) { .xaflo-boot { display: none; } }

/* ============================================================
   FLOATING STICKY CTA CHIP — kept
   ============================================================ */
.xaflo-cta-chip {
  position: fixed;
  bottom: 1.5rem; right: 1.5rem;
  z-index: 60;
  display: inline-flex; align-items: center; gap: 0.55rem;
  padding: 0.85rem 1.3rem;
  font-family: var(--x-display); font-weight: 600;
  font-size: 0.92rem;
  color: var(--x-base);
  background: linear-gradient(135deg, var(--x-cyan), var(--x-violet));
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 12px 40px rgba(0,217,255,0.35), 0 0 0 1px rgba(255,255,255,0.1) inset;
  opacity: 0; transform: translateY(20px) scale(0.95);
  pointer-events: none;
  transition: opacity .5s cubic-bezier(.2,.7,.2,1), transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease;
}
.xaflo-cta-chip.is-visible {
  opacity: 1; transform: translateY(0) scale(1);
  pointer-events: auto;
}
.xaflo-cta-chip:hover {
  box-shadow: 0 16px 50px rgba(0,217,255,0.5), 0 0 0 1px rgba(255,255,255,0.18) inset;
  transform: translateY(-2px) scale(1);
}
.xaflo-cta-chip .arrow { transition: transform .2s ease; }
.xaflo-cta-chip:hover .arrow { transform: translateX(3px); }
.xaflo-cta-chip::before {
  content: ""; position: absolute; inset: -3px;
  border-radius: 999px;
  border: 1px solid var(--x-cyan);
  opacity: 0;
  animation: xaflo-chip-pulse 2.4s ease-out infinite 1s;
  pointer-events: none;
}
@keyframes xaflo-chip-pulse {
  0%   { opacity: 0.6; transform: scale(0.92); }
  70%  { opacity: 0;   transform: scale(1.2); }
  100% { opacity: 0;   transform: scale(1.2); }
}
@media (max-width: 640px) {
  .xaflo-cta-chip { bottom: 1rem; right: 1rem; padding: 0.7rem 1.1rem; font-size: 0.85rem; }
}

/* Magnetic buttons (transform driven by JS) */
.xaflo-btn { will-change: transform; }
.xaflo-btn[data-magnet] { transition: transform .15s cubic-bezier(.2,.7,.2,1), box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
