    html { scroll-behavior: smooth; }

    body { box-sizing: border-box; }
    
    .gradient-text {
      background: linear-gradient(135deg, #0ea5e9 0%, #8b5cf6 50%, #06b6d4 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    
    .network-bg {
      background-image: 
        radial-gradient(circle at 20% 50%, rgba(14, 165, 233, 0.08) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(139, 92, 246, 0.06) 0%, transparent 50%),
        radial-gradient(circle at 40% 80%, rgba(6, 182, 212, 0.05) 0%, transparent 50%);
    }
    
    .dark .network-bg {
      background-image: 
        radial-gradient(circle at 20% 50%, rgba(14, 165, 233, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(139, 92, 246, 0.12) 0%, transparent 50%),
        radial-gradient(circle at 40% 80%, rgba(6, 182, 212, 0.1) 0%, transparent 50%);
    }
    
    .card-hover {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .card-hover:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.15);
    }
    
    .dark .card-hover:hover {
      box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.4);
    }
    
    .fade-in {
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    }
    
    .fade-in.visible {
      opacity: 1;
      transform: translateY(0);
    }
    
    .timeline-dot {
      transition: all 0.3s ease;
    }
    
    .timeline-dot:hover, .timeline-dot.active {
      transform: scale(1.3);
    }
    
    .modal-overlay {
      backdrop-filter: blur(8px);
    }
    
    @keyframes float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-10px); }
    }
    
    .float-animation {
      animation: float 6s ease-in-out infinite;
    }
    
    @keyframes pulse-soft {
      0%, 100% { opacity: 0.4; }
      50% { opacity: 0.8; }
    }
    
    .pulse-soft {
      animation: pulse-soft 4s ease-in-out infinite;
    }
    
    .network-line {
      stroke-dasharray: 5, 5;
      animation: dash 20s linear infinite;
    }
    
    @keyframes dash {
      to { stroke-dashoffset: -100; }
    }
    
    .toggle-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease-out, padding 0.4s ease-out;
    }
    
    .toggle-content.open {
      max-height: 200px;
    }
/* Scroll unlock after modularization */
html {
  min-height: 100%;
  height: auto !important;
  overflow-y: auto !important;
  scroll-behavior: smooth;
}

body {
  min-height: 100%;
  height: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden;
}

#app-wrapper {
  min-height: 100vh !important;
  height: auto !important;
  overflow: visible !important;
}

section {
  display: block;
  position: relative;
}

/* Accordion content should be fully hidden until opened */
.think-toggle .toggle-content {
  max-height: 0;
  overflow: hidden;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  opacity: 0;
  transition: max-height 0.35s ease, padding 0.35s ease, opacity 0.25s ease;
}

.think-toggle .toggle-content.open {
  max-height: 240px;
  padding-bottom: 1.25rem !important;
  opacity: 1;
}
