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

body {
  background: #0a0e1a;
  overflow-x: hidden;
}

::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: #0a0e1a;
}
::-webkit-scrollbar-thumb {
  background: #1a2440;
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: #00e5cc33;
}

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.ticker-scroll {
  animation: marquee 60s linear infinite;
}
.ticker-scroll:hover {
  animation-play-state: paused;
}

@keyframes pulse-green {
  0%, 100% { opacity: 1; box-shadow: 0 0 4px #00ff88; }
  50% { opacity: 0.4; box-shadow: 0 0 8px #00ff88; }
}

.pulse-dot {
  animation: pulse-green 2s ease-in-out infinite;
}

@keyframes gradient-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.hero-gradient {
  background: linear-gradient(135deg, #0a0e1a 0%, #0f1a3a 25%, #1a0f3a 50%, #0a2030 75%, #0a0e1a 100%);
  background-size: 400% 400%;
  animation: gradient-shift 12s ease infinite;
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

.fade-in-up {
  animation: fadeInUp 0.6s ease forwards;
}

@keyframes hero-text-cycle {
  0%, 30% { opacity: 1; }
  33%, 63% { opacity: 0; }
  66%, 96% { opacity: 0; }
  100% { opacity: 1; }
}

.glass-card {
  background: rgba(15, 21, 40, 0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(0, 229, 204, 0.1);
}

.glass-card:hover {
  border-color: rgba(0, 229, 204, 0.3);
  box-shadow: 0 0 20px rgba(0, 229, 204, 0.05);
}

@keyframes scanline {
  0% { transform: translateY(-100%); }
  100% { transform: translateY(100vh); }
}

.scanline-overlay::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: rgba(0, 229, 204, 0.03);
  animation: scanline 8s linear infinite;
  pointer-events: none;
}

@keyframes glow-border {
  0%, 100% { border-color: rgba(0, 229, 204, 0.15); }
  50% { border-color: rgba(0, 229, 204, 0.4); }
}

.glow-border-anim {
  animation: glow-border 3s ease-in-out infinite;
}

.grid-bg {
  background-image: 
    linear-gradient(rgba(0, 229, 204, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 229, 204, 0.03) 1px, transparent 1px);
  background-size: 40px 40px;
}

.division-card-medgen:hover { border-color: #00e5cc; box-shadow: 0 0 25px rgba(0, 229, 204, 0.15); }
.division-card-arcbuild:hover { border-color: #4488ff; box-shadow: 0 0 25px rgba(68, 136, 255, 0.15); }
.division-card-netshield:hover { border-color: #ff3355; box-shadow: 0 0 25px rgba(255, 51, 85, 0.15); }
.division-card-civiccore:hover { border-color: #ffcc00; box-shadow: 0 0 25px rgba(255, 204, 0, 0.15); }
.division-card-leisurelab:hover { border-color: #cc44ff; box-shadow: 0 0 25px rgba(204, 68, 255, 0.15); }
.division-card-agrosyn:hover { border-color: #44ff88; box-shadow: 0 0 25px rgba(68, 255, 136, 0.15); }

.timeline-line {
  background: linear-gradient(to bottom, transparent, #00e5cc33, #6b3fa033, transparent);
}

.modal-backdrop {
  background: rgba(5, 8, 18, 0.85);
  backdrop-filter: blur(8px);
}

/* Restricted doc styling */
.doc-restricted {
  opacity: 0.5;
  cursor: not-allowed !important;
  filter: grayscale(0.5);
}

.category-tag {
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}