/* ==============================================
   Spartan IT Solutions — Global Base Styles
   Page-specific styles live in each page's
   own <style> block.
   ============================================== */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --red:        #e50914;
  --red-hover:  #c70711;
  --dark:       #0f0f13;
  --dark2:      #1a1a24;
  --white:      #ffffff;
  --off-white:  #f7f8fc;
  --text:       #2d2d3a;
  --muted:      #6b7280;
  --border:     #e5e7eb;
  --font:       "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--font);
  color: var(--text);
  background: var(--white);
  line-height: 1.65;
}

/* Shared container */
.container { width: 90%; max-width: 1160px; margin: 0 auto; }

/* Particle helpers */
.has-particles { position: relative; overflow: hidden; }
.bg-canvas     { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.content-layer { position: relative; z-index: 1; }

/* Floating call button (mobile) */
.mobile-call-btn {
  display: none;
  position: fixed;
  bottom: 20px; right: 20px;
  background: var(--red);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  padding: 12px 20px;
  border-radius: 50px;
  box-shadow: 0 4px 15px rgba(0,0,0,.3);
  z-index: 10003;
  transition: background .2s;
  font-family: var(--font);
}
.mobile-call-btn:hover { background: var(--red-hover); }
@media (max-width: 768px) {
  .mobile-call-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
  }
}
