body {
      box-sizing: border-box;
    }
    
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }
    
    .font-display {
      font-family: 'Sora', sans-serif;
    }
    
    .font-body {
      font-family: 'Plus Jakarta Sans', sans-serif;
    }
    
    .gradient-hero {
      background: linear-gradient(135deg, #e0f4f8 0%, #b8e6f0 30%, #7dd3e8 70%, #4db8d1 100%);
    }
    
    .gradient-text {
      background: linear-gradient(135deg, #0d9488 0%, #0891b2 50%, #06b6d4 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    
    .card-hover {
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .card-hover:hover {
      transform: translateY(-8px);
    }
    
    .phase-card {
      position: relative;
      overflow: hidden;
    }
    
    .phase-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 4px;
      height: 100%;
      background: linear-gradient(180deg, #14b8a6 0%, #06b6d4 100%);
      border-radius: 4px 0 0 4px;
    }
    
    .blob {
      position: absolute;
      border-radius: 50%;
      filter: blur(60px);
      opacity: 0.4;
      animation: float 8s ease-in-out infinite;
    }
    
    @keyframes float {
      0%, 100% { transform: translateY(0) scale(1); }
      50% { transform: translateY(-20px) scale(1.05); }
    }
    
    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translateY(30px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    
    .animate-fade-in-up {
      animation: fadeInUp 0.8s ease-out forwards;
    }
    
    .delay-100 { animation-delay: 0.1s; }
    .delay-200 { animation-delay: 0.2s; }
    .delay-300 { animation-delay: 0.3s; }
    .delay-400 { animation-delay: 0.4s; }
    .delay-500 { animation-delay: 0.5s; }
    
    .scroll-smooth {
      scroll-behavior: smooth;
    }